relaton-logger 0.1.0 → 0.2.0

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: 2da06b3c702a902ef2fc5110c19a2c1f0c997caa3409a2c014fa2b8968ec0873
4
- data.tar.gz: 7908c829ec6d272cc924d0ae64a100f13b473945f0bca7496679215f515ccb8a
3
+ metadata.gz: 1d7fffb7e0193d66e22b213670ca709bffd1287073e7f4f3de1693b3fdde776d
4
+ data.tar.gz: 6bb987f4c7602383e1057f31af7c434e5bb5dd02a76f6aa7895173400212906c
5
5
  SHA512:
6
- metadata.gz: 6b484c092d45bc81bab1c0551f48f81df0b64eb1f23eea52fa341f1fc1a8893264ee03e3de18a9af2f056e316a86d6002e9227e98555c80357d922465cc8d81d
7
- data.tar.gz: cbae4869240542f537409d49c05864de5ca358fc17698fab793c794e7a2338cb8673524e450aebc9e1ea27adc7416c05912622bf6f92bd23e4ff684887554b80
6
+ metadata.gz: 254877741b0be11d37bb412d497c2535a4f7ec28fe540949428392514a64a5d0a13ab5920328e30e718859c6ef2c89eddb74f4d23da491b636bebef0155d55bd
7
+ data.tar.gz: e3488c4818408bc6b26447e54ab4a8f5df4c25023cd9d8de5159c83fb9fa66c5cf0d1637b45bb79297328f172dcaabe27ce00fb462c31f2a3db938543d155912
data/README.adoc CHANGED
@@ -48,22 +48,26 @@ Relaton.logger_pool.error("progname", key: "KEY") { "message" }
48
48
  [progname] ERROR: (KEY) message
49
49
  ----
50
50
 
51
- The logger pool can configured to contain multiple loggers. The loggers in the pool are called in the order they are added to the pool. To add a logger to the pool, call the `<<` method of the logger pool and pass the logger as an argument.
51
+ The logger pool can be configured to contain multiple loggers. Initially, there is one `:default` logger. Any instance of loggers in the logger pool are accessible with `[]` method. To add or replace a logger use `[]=` method of the logger pool and pass the logger as an argument. The loggers in the pool are called in the order they are added to the pool.
52
52
 
53
53
  [source, ruby]
54
54
  ----
55
- Relaton::Logger.configure do |config|
56
- config.logger_pool << Relaton::Logger::Log.new("relaton.log", levels: [:info, :warn])
57
- end
55
+ # Access logger
56
+ Relaton.logger_pool[:default]
57
+ =>
58
+ #<Relaton::Logger::Log:0x00000001212068c8
59
+
60
+ # Add a new logger
61
+ Relaton.logger_pool[:file] = Relaton::Logger::Log.new("relaton.log", levels: [:info, :warn])
58
62
  ----
59
63
 
60
- To replace the loggers in the pool, use `=` method of the logger pool and pass the new loggers as an argument.
64
+ To change the log level of a logger, call the `level=` method of the logger.
61
65
 
62
66
  [source, ruby]
63
67
  ----
64
- Relaton::Logger.configure do |config|
65
- config.logger_pool = [Relaton::Logger::Log.new("relaton.log", levels: [:info, :warn])]
66
- end
68
+ Relaton.logger_pool[:default].levels = [:info, :warn, :error]
69
+ Relaton.logger_pool[:default].add_level :fatal
70
+ Relaton.logger_pool[:default].remove_level :warn
67
71
  ----
68
72
 
69
73
  To create a new logger, call the `new` method of the `Relaton::Logger::Log` class and pass arguments:
@@ -15,7 +15,7 @@ module Relaton::Logger
15
15
 
16
16
  def initialize
17
17
  @logger_pool ||= Pool.new
18
- @logger_pool << Log.new($stderr, levels: %i[info warn error fatal])
18
+ @logger_pool[:default] = Log.new($stderr, levels: %i[info warn error fatal])
19
19
  end
20
20
 
21
21
  #
@@ -1,23 +1,23 @@
1
1
  module Relaton::Logger
2
2
  class Pool
3
3
  extend Forwardable
4
- def_delegators :@loggers, :<<, :[], :first, :last, :empty?, :any?, :size, :each, :detect, :length
4
+ def_delegators :@loggers, :[], :[]=, :size, :each
5
5
 
6
6
  attr_accessor :loggers
7
7
 
8
8
  def initialize
9
- @loggers = []
9
+ @loggers = {}
10
10
  end
11
11
 
12
12
  def unknown(message = nil, progname = nil, **args, &block)
13
- @loggers.each { |logger| logger.send(__callee__, message, progname, **args, &block) }
13
+ @loggers.each { |_, logger| logger.send(__callee__, message, progname, **args, &block) }
14
14
  nil
15
15
  end
16
16
 
17
17
  %i[fatal error warn info debug].each { |m| alias_method m, :unknown }
18
18
 
19
19
  def truncate
20
- @loggers.each(&:truncate)
20
+ @loggers.each { |_, logger| logger.truncate }
21
21
  nil
22
22
  end
23
23
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Relaton
4
4
  module Logger
5
- VERSION = "0.1.0"
5
+ VERSION = "0.2.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-20 00:00:00.000000000 Z
11
+ date: 2024-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logger
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  requirements: []
69
- rubygems_version: 3.3.26
69
+ rubygems_version: 3.3.27
70
70
  signing_key:
71
71
  specification_version: 4
72
72
  summary: The logger for Relaton gem.