legion-logging 1.1.2 → 1.1.3

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: 9b1efb3d106b47fa7884d216f0e819c43b34ea467fff711b8bbe36e3f1be4f94
4
- data.tar.gz: 20dbffbebd7804d5ad1e7bd21fbc141fb486d99f1a06973acc1099d1e1e53b3c
3
+ metadata.gz: 2c23b52e80d98a8fe9dd57a6c035ae3a1dbf944c36df1dcb75e4a40579cc6877
4
+ data.tar.gz: f033aaa8333c5b732bf8d7fea044f3b1a763f93e1e6e6f505fd96bbe5c3fa9f3
5
5
  SHA512:
6
- metadata.gz: 5f9bef85e2f2d2dd84989c57f7b210f17cb54d62bc9e82dfd19ac0bc8ab001e15716efd8391c3318b9dffde62c22d4218b454aa5c7024dd97bebaffbd771bece
7
- data.tar.gz: bbb5b895500262914283b570dcd70ecfacb852bf35656e5bdffce7188e902204f3ee0312a19a24c57e38d630a1acda584959b69ad3de48fa9fc9c438236d44cc
6
+ metadata.gz: b41978935615219e45cdf4df3c3c519fd2a5bcce8a56b435f6b582e6d0ae7c54ec76ca31aa1da431f705909572c1afccfd59b91979e9d934559a5ac4180a8b2a
7
+ data.tar.gz: 2ab09da5cb65c19b11ea68501b96bf358ad2d3c1db6fe590460e5cdf242f63b6de0a9987a67c31e9bafbf0e6c9287f9255db273f180d12d8fb8cc7c6fb338db2
@@ -6,6 +6,8 @@ Metrics/ClassLength:
6
6
  Max: 1500
7
7
  Metrics/BlockLength:
8
8
  Max: 75
9
+ Metrics/CyclomaticComplexity:
10
+ Max: 10
9
11
  Layout/SpaceAroundEqualsInParameterDefault:
10
12
  EnforcedStyle: space
11
13
  Style/SymbolArray:
@@ -11,11 +11,7 @@ module Legion
11
11
  class << self
12
12
  include Legion::Logging::Methods
13
13
  include Legion::Logging::Builder
14
- attr_reader :log, :color
15
-
16
- def level
17
- @log.level
18
- end
14
+ attr_reader :color
19
15
 
20
16
  def setup(level: 'info', **options)
21
17
  output(options)
@@ -1,7 +1,7 @@
1
1
  module Legion
2
2
  module Logging
3
3
  module Builder
4
- def log_format(options = {}, log = @log) # rubocop:disable Metrics/AbcSize
4
+ def log_format(options = {}) # rubocop:disable Metrics/AbcSize
5
5
  log.formatter = proc do |severity, datetime, _progname, msg|
6
6
  options[:lex_name] = options.key?(:lex) ? "[lex-#{options[:lex]}]" : nil
7
7
  unless options[:lex_name].nil?
@@ -28,21 +28,41 @@ module Legion
28
28
  @log = ::Logger.new(options[:log_file]) unless options[:log_file].nil?
29
29
  end
30
30
 
31
- def log_level(level = 'info', log = @log)
32
- case level
33
- when 'trace'
34
- log.level = ::Logger::INFO
35
- when 'debug'
36
- log.level = ::Logger::DEBUG
37
- when 'info'
38
- log.level = ::Logger::INFO
39
- when 'warn'
40
- log.level = ::Logger::WARN
41
- when 'error'
42
- log.level = ::Logger::ERROR
43
- when 'fatal'
44
- log.level = ::Logger::FATAL
45
- end
31
+ def log
32
+ @log ||= set_log
33
+ end
34
+
35
+ def set_log(logfile: nil, **)
36
+ @log = logfile.nil? ? ::Logger.new($stdout) : ::Logger.new(logfile)
37
+ end
38
+
39
+ def level
40
+ log.level
41
+ end
42
+
43
+ def log_level(level = 'info')
44
+ log.level = case level
45
+ when 'trace'
46
+ ::Logger::DEBUG
47
+ when 'debug'
48
+ ::Logger::DEBUG
49
+ when 'info'
50
+ ::Logger::INFO
51
+ when 'warn'
52
+ ::Logger::WARN
53
+ when 'error'
54
+ ::Logger::ERROR
55
+ when 'fatal'
56
+ ::Logger::FATAL
57
+ when nil
58
+ 42
59
+ else
60
+ if level.is_a? Integer
61
+ level
62
+ else
63
+ 0
64
+ end
65
+ end
46
66
  @log = log
47
67
  end
48
68
  end
@@ -10,7 +10,7 @@ module Legion
10
10
  include Legion::Logging::Builder
11
11
 
12
12
  def initialize(level: 'info', log_file: nil, lex: nil, trace: false, extended: false, trace_size: 4, **opts) # rubocop:disable Metrics/ParameterLists
13
- output(logfile: log_file)
13
+ set_log(logfile: log_file)
14
14
  log_level(level)
15
15
  log_format(lex: lex, extended: extended, **opts)
16
16
  @color = opts[:color]
@@ -1,7 +1,7 @@
1
1
  module Legion
2
2
  module Logging
3
3
  module Methods
4
- def trace(raw_message = nil, log = @log, size: @trace_size, log_caller: true) # rubocop:disable Metrics/AbcSize
4
+ def trace(raw_message = nil, size: @trace_size, log_caller: true) # rubocop:disable Metrics/AbcSize
5
5
  return unless @trace_enabled
6
6
 
7
7
  raw_message = yield if raw_message.nil? && block_given?
@@ -15,7 +15,7 @@ module Legion
15
15
  log.unknown(message)
16
16
  end
17
17
 
18
- def debug(message = nil, log = @log)
18
+ def debug(message = nil)
19
19
  return unless log.level < 1
20
20
 
21
21
  message = yield if message.nil? && block_given?
@@ -23,7 +23,7 @@ module Legion
23
23
  log.debug(message)
24
24
  end
25
25
 
26
- def info(message = nil, log = @log)
26
+ def info(message = nil)
27
27
  return unless log.level < 2
28
28
 
29
29
  message = yield if message.nil? && block_given?
@@ -31,7 +31,7 @@ module Legion
31
31
  log.info(message)
32
32
  end
33
33
 
34
- def warn(message = nil, log = @log)
34
+ def warn(message = nil)
35
35
  return unless log.level < 3
36
36
 
37
37
  message = yield if message.nil? && block_given?
@@ -39,7 +39,7 @@ module Legion
39
39
  log.warn(message)
40
40
  end
41
41
 
42
- def error(message = nil, log = @log)
42
+ def error(message = nil)
43
43
  return unless log.level < 4
44
44
 
45
45
  message = yield if message.nil? && block_given?
@@ -47,7 +47,7 @@ module Legion
47
47
  log.error(message)
48
48
  end
49
49
 
50
- def fatal(message = nil, log = @log)
50
+ def fatal(message = nil)
51
51
  return unless log.level < 5
52
52
 
53
53
  message = yield if message.nil? && block_given?
@@ -55,7 +55,7 @@ module Legion
55
55
  log.fatal(message)
56
56
  end
57
57
 
58
- def unknown(message = nil, log = @log)
58
+ def unknown(message = nil)
59
59
  message = yield if message.nil? && block_given?
60
60
  message = Rainbow(message).purple if @color
61
61
  log.unknown(message)
@@ -1,5 +1,5 @@
1
1
  module Legion
2
2
  module Logging
3
- VERSION = '1.1.2'.freeze
3
+ VERSION = '1.1.3'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-15 00:00:00.000000000 Z
11
+ date: 2020-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler