insights-loggers-ruby 0.1.4 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48a427d726b55c9f26567a1ccae337c75fab2130361272527351492b29c99fff
4
- data.tar.gz: 5bfd681d01537945399e9de46d17c9c9d235448d63117adadf2e5cc063844f88
3
+ metadata.gz: 4ba6c9d34a5f6d8de910652624371cd65569d4ec195e38d34abf0943f6486541
4
+ data.tar.gz: fe91d27236ab5d11c8930972efb26c789f00fcee2ca849a25b4a6b61f04068a9
5
5
  SHA512:
6
- metadata.gz: cfa674afa253c9be709e7da36ffc985b2fbf838672800739992d4c0c735d6647c05fd7908d043e7bd5cc2a2d0b10ad4210c940d793e5d145a9033c63e7111e2f
7
- data.tar.gz: 8cd5c7582c467fdf8717502d0acb35d59b31665bec9a7841f923d1d73f2a64870c9a2ac57f8b45811006fa79a2896e6fbc3b4b4e9115e15267bfa45b3458cacd
6
+ metadata.gz: 566482f5d024def7b0eb70fa3b56ef6a7d9f8d0c1daa01503ba1bcbad30e4f3e7b4c49844217f0c74791cbd964229120de4113243b7bc0f471333ba8774440fd
7
+ data.tar.gz: 5efcd7e237ff8b4a5f4a51c9391170448f2001186edbddb4c21ee5ca5c5b9d7ce51614f90ecbc22e56d2c34f2834110bc75886d52ced3596f84128e38bfa88d7
data/README.md CHANGED
@@ -25,15 +25,15 @@ Or install it yourself as:
25
25
  ### Example
26
26
  ```ruby
27
27
  require 'insights/loggers'
28
- logger_class = "Insights::Loggers::LoggingService"
29
- logger = Insights::Loggers::Base.create_logger(logger_class)
30
- logger.class #=> Insights::Loggers::LoggingService
28
+ logger_class = "Insights::Loggers::StdErrorLogger"
29
+ logger = Insights::Loggers::Factory.create_logger(logger_class)
30
+ logger.class #=> Insights::Loggers::StdErrorLogger
31
31
  logger.info("test")
32
32
  #{"@timestamp":"2021-04-28T12:56:28.682015 ","pid":11561,"tid":"3fd1d4c2ffd4","level":"info","message":"test","tags":["insights_application"],"labels":{"app":"insights_application"}}
33
33
  #^^^standard error output (it is not return value)
34
34
  #=> true
35
35
  #
36
- logger = Insights::Loggers::Base.create_logger(logger_class, {:app_name => "MyApp"})
36
+ logger = Insights::Loggers::Factory.create_logger(logger_class, {:app_name => "MyApp"})
37
37
  logger.warn("test")
38
38
  #{"@timestamp":"2021-04-28T13:31:40.311131 ","pid":11561,"tid":"3fd1d4c2ffd4","level":"warning","message":"test","tags":["MyApp"],"labels":{"app":"MyApp"}}
39
39
  #^^^standard error output
@@ -45,14 +45,14 @@ ManageIQ::Loggers::Base
45
45
  ManageIQ::Loggers::Container
46
46
  ManageIQ::Loggers::CloudWatch
47
47
  ManageIQ::Loggers::Journald
48
- Insights::Loggers::LoggingService
48
+ Insights::Loggers::StdErrorLogger
49
49
  TopologicalInventory::Providers::Common::Logger
50
50
  ```
51
51
 
52
52
  First for refers to gem `manageiq-loggers` and
53
53
  last one refers to `topological_inventory-providers-common` gem.
54
54
 
55
- `insights-loggers-ruby` adds own logger `Insights::Loggers::LoggingService`
55
+ `insights-loggers-ruby` adds own logger `Insights::Loggers::StdErrorLogger`
56
56
  which is producing log to standard error output.
57
57
  This standard error output can be consumed by [haberdasher](https://github.com/RedHatInsights/haberdasher) tool.
58
58
 
@@ -61,18 +61,18 @@ This standard error output can be consumed by [haberdasher](https://github.com/R
61
61
  Logger object can be built with method:
62
62
 
63
63
  ```
64
- Insights::Loggers::Base.create_logger
64
+ Insights::Loggers::Factory.create_logger
65
65
  ```
66
66
  First parameter is `logger_class` and second parameter is
67
67
  hash with parameters.
68
68
  Supported hash parameters are:
69
69
 
70
70
  - `:log_path` - required for `ManageIQ::Loggers::Base` logger, it specifies the path to log file
71
- - `:app_name` - applicable for `Insights::Loggers::LoggingService`, it specifies the tags and labels values in formatted output
71
+ - `:app_name` - applicable for `Insights::Loggers::StdErrorLogger`, it specifies the tags and labels values in formatted output
72
72
 
73
- ### Formatted output for `Insights::Loggers::LoggingService` logger
73
+ ### Formatted output for `Insights::Loggers::StdErrorLogger` logger
74
74
 
75
- Logging service produces formatted output:
75
+ Standard error logger produces formatted output:
76
76
 
77
77
  ```
78
78
  {"@timestamp":"2021-04-28T13:31:40.311131 ",
@@ -91,7 +91,7 @@ when app_name is not set in hash parameters.
91
91
 
92
92
  ## Dependencies
93
93
 
94
- Logging service inherits from `ManageIQ::Loggers::Container` class and
94
+ Standard error logger inherits from `ManageIQ::Loggers::Container` class and
95
95
  thanks to that `manageiq-loggers` is required dependency.
96
96
 
97
97
  Usage other loggers is possible also from `manageiq-loggers` gem.
@@ -22,11 +22,13 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_runtime_dependency "activesupport", "~> 5.0"
26
- spec.add_runtime_dependency "topological_inventory-providers-common", "~> 3.0.1"
25
+ spec.add_runtime_dependency "activesupport", "~> 5.2", ">= 5.2.4.3"
26
+
27
27
  spec.add_runtime_dependency "manageiq-loggers", "~> 0.4", ">= 0.4.2"
28
28
 
29
- spec.add_runtime_dependency "cloudwatchlogger", "~> 0.3.0"
29
+ spec.add_runtime_dependency "cloudwatchlogger", "~> 0.2.1"
30
+
31
+ spec.add_development_dependency "topological_inventory-providers-common", "~> 3.0.1"
30
32
  spec.add_development_dependency "manageiq-style", "~> 1.3.0"
31
33
  spec.add_development_dependency "rake", "~> 12.3", ">= 12.3.3"
32
34
  spec.add_development_dependency "rspec", "~> 3.0"
@@ -1,2 +1,2 @@
1
1
  require "insights/loggers/version"
2
- require "insights/loggers/base"
2
+ require "insights/loggers/factory"
@@ -1,8 +1,8 @@
1
1
  module Insights
2
2
  module Loggers
3
- class Base
3
+ class Factory
4
4
  def self.create_logger(logger_class, args = nil)
5
- logger_library_loader(logger_class)
5
+ logger_library_loader(logger_class, args)
6
6
  klass = logger_class.safe_constantize
7
7
 
8
8
  if klass
@@ -23,10 +23,18 @@ module Insights
23
23
  logger.app_name_for_formatter(args[:app_name])
24
24
  end
25
25
 
26
+ if args && args[:extend_module]
27
+ logger.extend(args[:extend_module].safe_constantize)
28
+ end
29
+
26
30
  logger
27
31
  end
28
32
 
29
- private_class_method def self.logger_library_loader(logger_class)
33
+ EXTENDED_LIBRARY_FROM_MODULE = {
34
+ "TopologicalInventory::Providers::Common::LoggingFunctions" => "topological_inventory/providers/common/logging"
35
+ }.freeze
36
+
37
+ private_class_method def self.logger_library_loader(logger_class, args = nil)
30
38
  case logger_class
31
39
  when "ManageIQ::Loggers::Base"
32
40
  require "manageiq/loggers/base"
@@ -44,10 +52,16 @@ module Insights
44
52
 
45
53
  require "manageiq/loggers/base"
46
54
  require "manageiq/loggers/journald"
47
- when "Insights::Loggers::LoggingService"
55
+ when "Insights::Loggers::StdErrorLogger"
48
56
  require "manageiq/loggers/base"
49
57
  require "manageiq/loggers/container"
50
- require "insights/loggers/logging_service"
58
+ require "insights/loggers/std_error_logger"
59
+ if args && args[:extend_module]
60
+ library_path = EXTENDED_LIBRARY_FROM_MODULE[args[:extend_module]]
61
+ raise ArgumentError, "Unable to find library for #{args[:extend_module]}" unless library_path
62
+
63
+ require EXTENDED_LIBRARY_FROM_MODULE[args[:extend_module]]
64
+ end
51
65
  when "TopologicalInventory::Providers::Common::Logger"
52
66
  require "topological_inventory/providers/common/logging"
53
67
  else
@@ -1,6 +1,6 @@
1
1
  module Insights
2
2
  module Loggers
3
- class LoggingService < ManageIQ::Loggers::Container
3
+ class StdErrorLogger < ManageIQ::Loggers::Container
4
4
  def initialize(*args)
5
5
  super
6
6
  self.reopen(STDERR)
@@ -1,5 +1,5 @@
1
1
  module Insights
2
2
  module Loggers
3
- VERSION = "0.1.4".freeze
3
+ VERSION = "0.1.9".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: insights-loggers-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Insights Authors
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-03 00:00:00.000000000 Z
11
+ date: 2021-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,28 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '5.0'
27
- - !ruby/object:Gem::Dependency
28
- name: topological_inventory-providers-common
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
19
+ version: '5.2'
20
+ - - ">="
32
21
  - !ruby/object:Gem::Version
33
- version: 3.0.1
22
+ version: 5.2.4.3
34
23
  type: :runtime
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
27
  - - "~>"
39
28
  - !ruby/object:Gem::Version
40
- version: 3.0.1
29
+ version: '5.2'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 5.2.4.3
41
33
  - !ruby/object:Gem::Dependency
42
34
  name: manageiq-loggers
43
35
  requirement: !ruby/object:Gem::Requirement
@@ -64,14 +56,28 @@ dependencies:
64
56
  requirements:
65
57
  - - "~>"
66
58
  - !ruby/object:Gem::Version
67
- version: 0.3.0
59
+ version: 0.2.1
68
60
  type: :runtime
69
61
  prerelease: false
70
62
  version_requirements: !ruby/object:Gem::Requirement
71
63
  requirements:
72
64
  - - "~>"
73
65
  - !ruby/object:Gem::Version
74
- version: 0.3.0
66
+ version: 0.2.1
67
+ - !ruby/object:Gem::Dependency
68
+ name: topological_inventory-providers-common
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: 3.0.1
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: 3.0.1
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: manageiq-style
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -172,8 +178,8 @@ files:
172
178
  - insights-loggers-ruby.gemspec
173
179
  - lib/insights-loggers.rb
174
180
  - lib/insights/loggers.rb
175
- - lib/insights/loggers/base.rb
176
- - lib/insights/loggers/logging_service.rb
181
+ - lib/insights/loggers/factory.rb
182
+ - lib/insights/loggers/std_error_logger.rb
177
183
  - lib/insights/loggers/version.rb
178
184
  homepage: https://github.com/ManageIQ/manageiq-loggers
179
185
  licenses: