loglevel 0.4.0 → 0.4.1

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
  SHA1:
3
- metadata.gz: 27d935b0bba808acac6f2dc481350410698cb44d
4
- data.tar.gz: 1434b05ae0a081a45df1dfb0b62f7f3d10ce0100
3
+ metadata.gz: 9238768a01736d1fd62a8b68251194e02e0d6a54
4
+ data.tar.gz: e91ec147451f9139c91e46caabb29a13e4f4d670
5
5
  SHA512:
6
- metadata.gz: 5000a19490bec0ecad39c9f1b9347b695118db51d077f5961b39a6425cc4da7c3053e9bc441335d446d3b162c9a74bab26b9e0f5a4f045e966167ddb378317db
7
- data.tar.gz: 3e84eb62bbfb745a499ccedf45eb5e2bb2e1b76861602f74433de3401b309db4dc76e30061e06da30535d07e8fcc38bcc7a60959cf88ece4de7d135f6ae2727a
6
+ metadata.gz: 54ef918bd27faf39f28c0b32dc65f7df97e31ae54056636cb26794d5504b9342ac72e509c25fe06046d5ebff1acfd9e0a73a72e5a2b1b8746183de2b0cd0a097
7
+ data.tar.gz: 0a1f1ee68fda6d8a778098cabcc2e3237008870909a015680e83a2810a387c14a9ff10d58b78871b2cf3b52b4a4ba47620d67a7a47cc3d4032deb3ac511a239f
@@ -19,7 +19,7 @@ class Loglevel
19
19
  end
20
20
 
21
21
  def class_names
22
- @class_names ||= passed_class_names | %w(Rails ActiveRecord::Base HttpLogger)
22
+ @class_names ||= passed_class_names | %w[Rails ActiveRecord::Base HttpLogger]
23
23
  end
24
24
 
25
25
  def passed_class_names
data/lib/loglevel/help.rb CHANGED
@@ -3,7 +3,7 @@ class Loglevel
3
3
  module Help
4
4
  def help
5
5
  logger.info <<-HELP.gsub(' ', '')
6
- Usage: DEBUG=SETTING,SETTING,SETTING rails server
6
+ Usage: LOGLEVEL=SETTING,SETTING,SETTING rails server
7
7
 
8
8
  Available settings are as follows:
9
9
  HELP Show these options
@@ -27,11 +27,8 @@ class Loglevel
27
27
 
28
28
  def debug
29
29
  debug = classes.map do |klass|
30
- l = klass.logger || Struct.new(:level).new(0)
31
- d = l.instance_variable_get('@logdev') || Struct.new(:filename, :dev).new
32
- f = d.filename || d.dev.inspect || 'nil'
33
- v = l.level.is_a?(0.class) ? self.class::LOGLEVELS[l.level] : 'nil'
34
- "#{klass}: logger=#{l.class}, device=#{f}, level=#{v}"
30
+ l = Loglevel::LoggerAnalyzer.new(klass)
31
+ "#{klass}: logger=#{l.logger_class}, device=#{l.device_name}, level=#{l.level_name}"
35
32
  end
36
33
 
37
34
  debug.join("\n")
@@ -0,0 +1,40 @@
1
+ # Analyses the logger method of a class
2
+ class Loglevel
3
+ class LoggerAnalyzer
4
+ def level_name
5
+ @level_name ||= Loglevel::LOGLEVELS[level]
6
+ end
7
+
8
+ def level
9
+ @level ||= logger_level.is_a?(0.class) ? logger_level : 5
10
+ end
11
+
12
+ def logger_level
13
+ @logger_level ||= logger.level
14
+ end
15
+
16
+ def device_name
17
+ @device_name ||= logdev.filename || logdev.dev.inspect || 'nil'
18
+ end
19
+
20
+ def logdev
21
+ @logdev ||= logger.instance_variable_get('@logdev') || Struct.new(:filename, :dev).new
22
+ end
23
+
24
+ def logger_class
25
+ @logger_class ||= logger.class
26
+ end
27
+
28
+ def logger
29
+ @logger ||= klass.logger || Struct.new(:level).new(0)
30
+ end
31
+
32
+ private
33
+
34
+ attr_reader :klass
35
+
36
+ def initialize(klass)
37
+ @klass = klass
38
+ end
39
+ end
40
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Loglevel
4
- VERSION = '0.4.0'.freeze
4
+ VERSION = '0.4.1'.freeze
5
5
  end
data/lib/loglevel.rb CHANGED
@@ -3,13 +3,14 @@ require 'loglevel/classes'
3
3
  require 'loglevel/active_record'
4
4
  require 'loglevel/http_logger'
5
5
  require 'loglevel/help'
6
+ require 'loglevel/logger_analyzer'
6
7
 
7
8
  class Loglevel
8
9
  ENV_VAR_LEVEL = 'LOGLEVEL'.freeze
9
10
  ENV_VAR_LOGGER = 'LOGLEVEL_LOGGER'.freeze
10
11
  ENV_VAR_DEVICE = 'LOGLEVEL_DEVICE'.freeze
11
12
  ENV_VAR_CLASSES = 'LOGLEVEL_CLASSES'.freeze
12
- LOGLEVELS = %w(DEBUG INFO WARN ERROR FATAL UNKNOWN).freeze
13
+ LOGLEVELS = %w[DEBUG INFO WARN ERROR FATAL UNKNOWN].freeze
13
14
 
14
15
  class << self
15
16
  def setup
@@ -81,8 +82,8 @@ class Loglevel
81
82
 
82
83
  def logger_class
83
84
  Object.const_get logger_class_name
84
- rescue NameError => e
85
- fail Loglevel::Exception::BadLoggerClass, "Can't find logger class #{logger_class_name} - have you required it?"
85
+ rescue NameError
86
+ raise Loglevel::Exception::BadLoggerClass, "Can't find logger class #{logger_class_name} - have you required it?"
86
87
  end
87
88
 
88
89
  def logger_class_name
@@ -94,7 +95,7 @@ class Loglevel
94
95
  end
95
96
 
96
97
  def device
97
- %w(STDOUT STDERR).include?(device_name) ? Object.const_get(device_name) : device_name
98
+ %w[STDOUT STDERR].include?(device_name) ? Object.const_get(device_name) : device_name
98
99
  end
99
100
 
100
101
  def device_name
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: loglevel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominic Sayers
@@ -37,6 +37,7 @@ files:
37
37
  - lib/loglevel/exception.rb
38
38
  - lib/loglevel/help.rb
39
39
  - lib/loglevel/http_logger.rb
40
+ - lib/loglevel/logger_analyzer.rb
40
41
  - lib/loglevel/version.rb
41
42
  - loglevel.gemspec
42
43
  - script/console