metlo 0.0.2-arm64-darwin → 0.0.4-arm64-darwin

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metlo/version.rb +1 -1
  3. data/lib/metlo.rb +52 -25
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94a089b9b957b18388d0893b6209076d7b8b0724fb14cc7d54285e07e0e55343
4
- data.tar.gz: 73b65162c00790c74809838b8b5fc0aff1140a61933c3fa09ba510169172718a
3
+ metadata.gz: 813e849e9d6138abfc95c9f9991cfc58b86d86c4a3fd026a62ae4b5f63b21224
4
+ data.tar.gz: eda5aeba1e4a9d665e1fe3d1391e69201ba1ef3569bcf22e75618d04946a1d33
5
5
  SHA512:
6
- metadata.gz: 113bec7da70c8489fd9b5f782b0669f41c89ee7d2251c59d1f9a32adf3c9be89e273e27ff8afc2f0fc3e02f786be07fe7c85013ab05fa9285c2caaa57feb8c42
7
- data.tar.gz: d10cd9a8ae74611c946e3688a0f6efaa73a0f325b32db910a495aacd9423b6092142939d20777b19951331549c19bdba5efac52e1f0bed6445deafa90f2162d1
6
+ metadata.gz: c6c09989ed89c0ca8d94e2e4a1178a44e3f02f43a91291faf43b294be49bfa26de93e3ec5d9e0b48fc8b0b9e813133dac79f9e301131ad740470aba651cd7611
7
+ data.tar.gz: c10b1f2c410f5b63839f41e36670f7b35073760d45ec8e9da8131f86853e35c345d25fc93b6c82e6dbdf3e83855686942a28a277953bf01dfa33d693a3adf7e5
data/lib/metlo/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Metlo
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.4"
5
5
  end
data/lib/metlo.rb CHANGED
@@ -4,7 +4,7 @@ require_relative "./libmetlo"
4
4
 
5
5
  module Metlo
6
6
 
7
- class ResponseTimer
7
+ class Metlo
8
8
 
9
9
  @@MAX_RES_ITER_COUNT = 10
10
10
  @@MAX_BODY_LENGTH = 10 * 1024
@@ -25,15 +25,32 @@ module Metlo
25
25
  block_response = params[:block_response]
26
26
  get_user = params[:get_user]
27
27
 
28
+ if not (log_level.nil?)
29
+ if not (log_level.is_a? String)
30
+ log_level = "info"
31
+ @logger = Logger.new($stdout,convert_log_level(log_level))
32
+ @logger.warn("log_level is not a string. log_level is expected to be one of trace, debug, info, warn, error.\nDefaulting log level to info.")
33
+ elsif not (@@LOG_LEVELS.include? log_level)
34
+ log_level = "info"
35
+ @logger = Logger.new($stdout,convert_log_level(log_level))
36
+ @logger.warn("log_level is not one of trace, debug, info, warn, error.\nDefaulting log level to info")
37
+ end
38
+ else
39
+ log_level = "info"
40
+ @logger = Logger.new($stdout,convert_log_level(log_level))
41
+ end
42
+
43
+ setup_log(@logger)
44
+
28
45
  # Metlo URL
29
46
  if not (metlo_url.is_a? String)
30
- p "metlo_url is not a string"
47
+ @logger.warn("metlo_url is not a string")
31
48
  @disable = true
32
49
  end
33
50
 
34
51
  # Metlo API Key
35
52
  if not (api_key.is_a? String)
36
- p "api_key is not a string"
53
+ @logger.warn("api_key is not a string")
37
54
  @disable = true
38
55
  end
39
56
 
@@ -41,7 +58,7 @@ module Metlo
41
58
  if not (backend_port.nil?)
42
59
  # Value is present
43
60
  if not (backend_port.is_a? Integer)
44
- p "backend_port is not an integer"
61
+ @logger.warn("backend_port is not an integer")
45
62
  @disable = true
46
63
  end
47
64
  else
@@ -56,39 +73,25 @@ module Metlo
56
73
  # Collector Port
57
74
  if not (collector_port.nil?)
58
75
  if not (collector_port.is_a? Integer)
59
- p "collector_port is not an integer"
76
+ @logger.warn("collector_port is not an integer")
60
77
  @disable = true
61
78
  end
62
79
  else
63
80
  collector_port = 8081
64
81
  end
65
82
 
66
- if not (log_level.nil?)
67
- if not (log_level.is_a? String)
68
- p "log_level is not a string. log_level is expected to be one of trace, debug, info, warn, error."
69
- p "Defaulting log level to info."
70
- log_level = "info"
71
- elsif not (@@LOG_LEVELS.include? log_level)
72
- p "log_level is not one of trace, debug, info, warn, error."
73
- p "Defaulting log level to info"
74
- log_level = "info"
75
- end
76
- else
77
- log_level = "info"
78
- end
79
-
80
83
  if not (encryption_key.nil?) and not (encryption_key.is_a? String)
81
- p "Encryption key is expected to be a string."
84
+ @logger.warn("Encryption key is expected to be a string.")
82
85
  encryption_key = nil
83
86
  end
84
87
 
85
88
  if not (block_response.nil?)
86
89
  if not defined? block_response == "expression"
87
- p "block_response param is expected to be a symbol to a method/function"
90
+ @logger.warn("block_response param is expected to be a symbol to a method/function")
88
91
  @block_fn = method(:metlo_default_block)
89
92
  else
90
93
  if not(((defined? method(block_response)) == "method") and (method(block_response).arity == 1))
91
- p "block_response param is expected to be a method that takes a single param"
94
+ @logger.warn("block_response param is expected to be a method that takes a single param")
92
95
  @block_fn = method(:metlo_default_block)
93
96
  else
94
97
  @block_fn = method(block_response)
@@ -101,7 +104,7 @@ module Metlo
101
104
 
102
105
  if not (get_user.nil?)
103
106
  if not (defined? get_user == "expression" and defined? method(get_user) == "method" and method(get_user).arity == 1)
104
- p "get_user param is expected to be a method that takes a single param env"
107
+ @logger.warn("get_user param is expected to be a method that takes a single param env")
105
108
  @get_user = nil
106
109
  else
107
110
  @get_user = method(get_user)
@@ -211,7 +214,7 @@ module Metlo
211
214
  body_tmp.rewind
212
215
  end
213
216
  else
214
- p "Metlo doesn't currently handle streaming responses"
217
+ @logger.debug("Metlo doesn't currently handle streaming responses")
215
218
  end
216
219
 
217
220
  # Check response type
@@ -254,7 +257,31 @@ module Metlo
254
257
  end
255
258
 
256
259
  def metlo_default_block(env)
257
- return [403,{},["Forbidden"]]
260
+ return [403,{},["Forbidden"]]
258
261
  end
262
+
263
+ def setup_log(logger)
264
+ logger.formatter = proc do |severity, datetime, _progname, msg|
265
+ datefmt = datetime.strftime('%Y-%m-%dT%H:%M:%S.%6N')
266
+ "[timestamp=#{datefmt} level=#{severity.ljust(5)}] Metlo: #{msg}\n"
267
+ end
268
+ end
269
+
270
+ def convert_log_level(level)
271
+ if level == "trace"
272
+ return Logger::DEBUG
273
+ elsif level == "debug"
274
+ return Logger::DEBUG
275
+ elsif level == "info"
276
+ return Logger::INFO
277
+ elsif level == "warn"
278
+ return Logger::WARN
279
+ elsif level == "error"
280
+ return Logger::ERROR
281
+ else
282
+ return Logger::INFO
283
+ end
284
+ end
285
+
259
286
  end
260
287
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metlo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: arm64-darwin
6
6
  authors:
7
7
  - Metlo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-27 00:00:00.000000000 Z
11
+ date: 2023-07-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: The Ruby Agent for Metlo
14
14
  email: