lsslog 0.1.7.7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2901aaa24e2e5febc70327cda7c28a9f69d138ed480b516933574a367802d1d6
4
- data.tar.gz: cd7ffabe342465071c43b9cfb3ff26181ee6e36f6bbe7dfc62fbf9feaf46a91f
3
+ metadata.gz: c54ea01fcda20826706329171d37135a08c73ae0190f1b402897e8229dca69e0
4
+ data.tar.gz: c4dbafeec49895ca9a66beead4e733ded235299c7532189e260beac05c95e80e
5
5
  SHA512:
6
- metadata.gz: 2f29202fb14d5c0c9e6b170d6b729522d73437758ac3253e028c6b8fcacbfd6fe61e90f95a402f8f05519ade3a020d8301b5de5ae68d9c6e1663c50ff88810ef
7
- data.tar.gz: 903079823059e4cc52530c53d02287bb396f448a86a2bac233c31e72cb738da38f2e63d532d54a0ac075caadfb3bfc304c82f76b2ea9741c435536974c3a3dec
6
+ metadata.gz: 3f0ccd031ff62377ec36f27e849f948ae6009b2e8279d0b7517fc1676af20c1601fbcb72fd55c519f32e7213f0256ae045442183a39f0ef14ad10891427c4c2b
7
+ data.tar.gz: e5f335ae47adabf3079f91fb2117c401f049b4b6c496c3bcd78b9b5621d97b1e47d7b3b19c9d97a2b321d295599aca9867c2369b1f1aeb4147b490fac9a76a96
@@ -0,0 +1,35 @@
1
+ require 'grpc'
2
+ require "lsslog_services_pb"
3
+
4
+ module Lsslog
5
+ module Services
6
+ module V2
7
+ class Base
8
+ attr_reader :client
9
+
10
+ def initialize
11
+ @client = ::Lsslog::V2::Stub.new(lss_host, :this_channel_is_insecure)
12
+ end
13
+
14
+ def self.call(*args)
15
+ response = new.call(*args)
16
+
17
+ Lsslog.logger.info "#{self.name.demodulize}: #{response.to_json}"
18
+
19
+ response
20
+ rescue GRPC::BadStatus => e
21
+ Lsslog.logger.info "ERROR: #{e.message}"
22
+ end
23
+
24
+ private
25
+
26
+ def lss_host
27
+ @lss_host ||= ::Lsslog.configuration.lss_host
28
+ raise 'Lsslog.configuration.lss_host is missing' unless @lss_host
29
+
30
+ @lss_host
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,11 @@
1
+ module Lsslog
2
+ module Services
3
+ module V2
4
+ class Log < ::Lsslog::Services::V2::Base
5
+ def call(message)
6
+ client.log(Lsslog::LogVer2.new(message))
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Lsslog
2
- VERSION = "0.1.7.7"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/lsslog.rb CHANGED
@@ -10,6 +10,9 @@ require 'lsslog/services/set_lss_config'
10
10
  require 'lsslog/services/set_trans_exp_time'
11
11
  require 'lsslog/services/write_log'
12
12
 
13
+ require 'lsslog/services/v2/base'
14
+ require 'lsslog/services/v2/log'
15
+
13
16
  module Lsslog
14
17
  class Error < StandardError; end
15
18
 
data/lsslog.gemspec CHANGED
@@ -1,7 +1,9 @@
1
+
1
2
  lib = File.expand_path("../lib", __FILE__)
2
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
4
  require "lsslog/version"
4
5
 
6
+
5
7
  Gem::Specification.new do |spec|
6
8
  spec.name = "lsslog"
7
9
  spec.version = Lsslog::VERSION
@@ -24,7 +26,7 @@ Gem::Specification.new do |spec|
24
26
  # Specify which files should be added to the gem when it is released.
25
27
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
26
28
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
27
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) || f == "lsslog-#{Lsslog::VERSION}.gem" }
29
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
28
30
  end
29
31
  spec.bindir = "exe"
30
32
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
data/proto/lsslog.proto CHANGED
@@ -96,6 +96,19 @@ message ProdTransaction {
96
96
  int64 created_at = 7;
97
97
  }
98
98
 
99
+ message LogVer2 {
100
+ string severity = 1;
101
+ string timestamp = 2;
102
+ string api = 3;
103
+ string component = 4;
104
+ google.protobuf.Struct message = 5;
105
+ }
106
+
107
+ message LogResponseVer2 {
108
+ string id = 1;
109
+ uint32 timestamp = 2;
110
+ }
111
+
99
112
  service LssLogService {
100
113
  rpc WriteLog(LssLog) returns (LssRes) {};
101
114
  rpc GetVersion(EmptyIn) returns (VersionOut) {};
@@ -106,19 +119,6 @@ service LssLogService {
106
119
  rpc WriteProdTransaction(ProdTransaction) returns (LssRes) {};
107
120
  }
108
121
 
109
- message LogVer2 {
110
- string severity = 1;
111
- string timestamp = 2;
112
- string api = 3;
113
- string component = 4;
114
- google.protobuf.Struct message = 5;
115
- }
116
-
117
- message LogResponseVer2 {
118
- string id = 1;
119
- uint32 timestamp = 2;
120
- }
121
-
122
122
  service V2 {
123
- rpc Log(LogVer2) returns (LogResponseVer2) {};
124
- }
123
+ rpc Log(LogVer2) returns (LogResponseVer2) {};
124
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lsslog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7.7
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thanh Ngo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-09 00:00:00.000000000 Z
11
+ date: 2024-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -101,10 +101,10 @@ files:
101
101
  - lib/lsslog/services/remove_lss_config.rb
102
102
  - lib/lsslog/services/set_lss_config.rb
103
103
  - lib/lsslog/services/set_trans_exp_time.rb
104
- - lib/lsslog/services/v2.rb
104
+ - lib/lsslog/services/v2/base.rb
105
+ - lib/lsslog/services/v2/log.rb
105
106
  - lib/lsslog/services/write_log.rb
106
107
  - lib/lsslog/services/write_prod_transaction.rb
107
- - lib/lsslog/v2/log.rb
108
108
  - lib/lsslog/version.rb
109
109
  - lib/lsslog_pb.rb
110
110
  - lib/lsslog_services_pb.rb
@@ -114,7 +114,6 @@ files:
114
114
  - lsslog-0.1.3.pre.rc1.gem
115
115
  - lsslog-0.1.5.gem
116
116
  - lsslog-0.1.6.gem
117
- - lsslog-0.1.7.gem
118
117
  - lsslog.gemspec
119
118
  - proto/README.md
120
119
  - proto/lsslog.proto
@@ -1,64 +0,0 @@
1
- require 'grpc'
2
- require 'lsslog_services_pb'
3
-
4
- module Lsslog
5
- module Services
6
- class V2
7
- def initialize
8
- @stub = Lsslog::V2::Stub.new(lss_host, :this_channel_is_insecure)
9
- end
10
-
11
- def log(message_h:, severity:, component: '', api: '')
12
- message_struct = hash_to_struct(message_h)
13
-
14
- log_ver2 = Lsslog::LogVer2.new(
15
- severity: severity,
16
- timestamp: Time.now.utc.iso8601,
17
- api: api,
18
- component: component,
19
- message: message_struct
20
- )
21
-
22
- Rails.logger.info("Sending LSS log. Message:[#{message_h}]")
23
-
24
- response = @stub.log(log_ver2, deadline: Time.now + 5)
25
- response
26
- rescue GRPC::BadStatus => e
27
- Rails.logger.error("Error sending LSS log: #{e.message}")
28
- nil
29
- end
30
-
31
- private
32
-
33
- def lss_host
34
- @lss_host ||= ::Lsslog.configuration.lss_host
35
- raise 'Lsslog.configuration.lss_host is missing' unless @lss_host
36
-
37
- @lss_host
38
- end
39
-
40
- def hash_to_struct(hash)
41
- Google::Protobuf::Struct.new(fields: hash.transform_values { |v| to_proto_value(v) })
42
- end
43
-
44
- def to_proto_value(value)
45
- case value
46
- when String
47
- Google::Protobuf::Value.new(string_value: value)
48
- when Numeric
49
- Google::Protobuf::Value.new(number_value: value)
50
- when TrueClass, FalseClass
51
- Google::Protobuf::Value.new(bool_value: value)
52
- when Hash
53
- Google::Protobuf::Value.new(struct_value: hash_to_struct(value))
54
- when Array
55
- Google::Protobuf::Value.new(list_value: Google::Protobuf::ListValue.new(values: value.map { |v| to_proto_value(v) }))
56
- when NilClass
57
- Google::Protobuf::Value.new(null_value: :NULL_VALUE)
58
- else
59
- Google::Protobuf::Value.new(string_value: value.to_s)
60
- end
61
- end
62
- end
63
- end
64
- end
data/lib/lsslog/v2/log.rb DELETED
@@ -1,68 +0,0 @@
1
- require 'grpc'
2
- require 'lsslog_services_pb'
3
-
4
- module Lsslog
5
- module V2
6
- class Service
7
- def initialize
8
- Rails.logger.info("Initialize")
9
- @stub = Lsslog::V2::Stub.new(lss_host, :this_channel_is_insecure)
10
- end
11
-
12
- def log(message_h:, severity:, component: '', api: '')
13
- Rails.logger.info("Begin log function")
14
- message_struct = hash_to_struct(message_h)
15
-
16
- log_ver2 = Lsslog::LogVer2.new(
17
- severity: severity,
18
- timestamp: Time.now.utc.iso8601,
19
- api: api,
20
- component: component,
21
- message: message_struct
22
- )
23
-
24
- Rails.logger.info("Sending LSS log. Message:[#{message_h}]")
25
-
26
- response = @stub.log(log_ver2, deadline: Time.now + 5)
27
- response
28
- rescue GRPC::BadStatus => e
29
- Rails.logger.error("Error sending LSS log: #{e.message}")
30
- nil
31
- rescue StandardError => e
32
- Rails.logger.info("#{e.backtrace}, #{e.message}")
33
- end
34
-
35
- def lss_host
36
- @lss_host ||= ::Lsslog.configuration.lss_host
37
- raise 'Lsslog.configuration.lss_host is missing' unless @lss_host
38
-
39
- @lss_host
40
- end
41
-
42
- private
43
-
44
- def hash_to_struct(hash)
45
- Google::Protobuf::Struct.new(fields: hash.transform_values { |v| to_proto_value(v) })
46
- end
47
-
48
- def to_proto_value(value)
49
- case value
50
- when String
51
- Google::Protobuf::Value.new(string_value: value)
52
- when Numeric
53
- Google::Protobuf::Value.new(number_value: value)
54
- when TrueClass, FalseClass
55
- Google::Protobuf::Value.new(bool_value: value)
56
- when Hash
57
- Google::Protobuf::Value.new(struct_value: hash_to_struct(value))
58
- when Array
59
- Google::Protobuf::Value.new(list_value: Google::Protobuf::ListValue.new(values: value.map { |v| to_proto_value(v) }))
60
- when NilClass
61
- Google::Protobuf::Value.new(null_value: :NULL_VALUE)
62
- else
63
- Google::Protobuf::Value.new(string_value: value.to_s)
64
- end
65
- end
66
- end
67
- end
68
- end
data/lsslog-0.1.7.gem DELETED
Binary file