active_logger 0.4.0 → 0.5.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: 329985023815903e40757931bee2d0fef32a2f0e9e703570306b58acc403db34
4
- data.tar.gz: 30d2bc94716af0bbb5781fa8d43404154bd5e11cda6fc94b7d3564e0d0d17a0a
3
+ metadata.gz: 7e41d988455ce14566cfd4f5c3e0b6f8f56ba45e8a1f6da8d23a2e02f1665d0f
4
+ data.tar.gz: 0ac73b64c7762edb39bc8b7e6900815585bfb5153914f7150854afa01d157a23
5
5
  SHA512:
6
- metadata.gz: bc955d714639abbec8d7452915e4b6b166a7b5768b37cc29f14a61404aac48fd06d6d066e9c6f601824c8092dab56daefe6bc0ea834e760a2dca75dd44f180e7
7
- data.tar.gz: 36fac211a1ffc773b51614d53ff72dcf0d3c83b6adebc511b8694a77bfa9d3e7dd0c00c17e710d111881594da046a76f0bf06dd8ea1bbfaa6232a5a879689ad9
6
+ metadata.gz: dee86fdf0440c72c4d2adb9cc8e6a904541e9b1ad0956a509d9cb1bbc342a419305d4b84480f7e4058fe953e23ff2c660768bb990143cf4571f19ce8b4b71419
7
+ data.tar.gz: e105ab24cb5d3bed005d044fce0026ba4c54749030d55ffc8626ae1180f4aec8067e47b04fb6d696b6cf6b17206f0f292e216f4891808d4e9fb00f956c5c15e1
data/.rubocop.yml CHANGED
@@ -6,9 +6,25 @@ require:
6
6
  AllCops:
7
7
  NewCops: enable
8
8
 
9
+ # ************************
10
+ # LAYOUT
11
+ # ************************
12
+
9
13
  Layout/LineLength:
10
14
  Max: 130
11
15
 
16
+ # ************************
17
+ # METRICS
18
+ # ************************
19
+
20
+ # Configuration parameters: IgnoredMethods.
21
+ Metrics/CyclomaticComplexity:
22
+ Enabled: false
23
+
24
+ # Configuration parameters: IgnoredMethods.
25
+ Metrics/PerceivedComplexity:
26
+ Enabled: false
27
+
12
28
  Metrics/BlockLength:
13
29
  Enabled: false
14
30
 
@@ -19,5 +35,8 @@ Metrics/MethodLength:
19
35
  Metrics/AbcSize:
20
36
  Max: 30
21
37
 
38
+ # ************************
39
+ # RSPEC
40
+ # ************************
22
41
  RSpec/LeakyConstantDeclaration:
23
42
  Enabled: false
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2020-04-22 17:28:02 +0300 using RuboCop version 0.82.0.
3
+ # on 2020-04-24 16:26:20 +0300 using RuboCop version 0.82.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_logger (0.4.0)
4
+ active_logger (0.5.0)
5
5
  activesupport (>= 5.0.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -27,6 +27,9 @@ Or install it yourself as:
27
27
  ```ruby
28
28
  logger = ActiveLogger.new :stdout
29
29
  logger.info 'test' # => test
30
+
31
+ # with options
32
+ logger = ActiveLogger.new :stdout, level: :debug, formatter: :json, progname: :project1
30
33
  ```
31
34
 
32
35
  There are 3 types:
@@ -35,6 +38,12 @@ There are 3 types:
35
38
  * `:stderr` : Messages will be written to STDERR
36
39
  * `:file` : Messages will be written to a file
37
40
 
41
+ Available standard options:
42
+
43
+ * `level` - log level (`DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`)
44
+ * `formatter` - format for logs: `:default`, `:json` or own custom formatter.
45
+ * `progname` - program name.
46
+
38
47
  ### File example
39
48
 
40
49
  ```ruby
data/lib/active_logger.rb CHANGED
@@ -7,7 +7,7 @@ module ActiveLogger # :nodoc:
7
7
  module_function
8
8
 
9
9
  def new(*args, &block)
10
- ActiveLogger::Logger.new(*args, &block)
10
+ ActiveLogger::Logging.new(*args, &block)
11
11
  end
12
12
  end
13
13
 
@@ -23,4 +23,5 @@ require File.dirname(__FILE__) + '/active_logger/helpers/formatter'
23
23
  require File.dirname(__FILE__) + '/active_logger/helpers/appender'
24
24
 
25
25
  require File.dirname(__FILE__) + '/active_logger/tagged_logging'
26
+ require File.dirname(__FILE__) + '/active_logger/logging'
26
27
  require File.dirname(__FILE__) + '/active_logger/logger'
@@ -54,6 +54,10 @@ module ActiveLogger
54
54
  def pid
55
55
  $PID
56
56
  end
57
+
58
+ def default_progname
59
+ $PROGRAM_NAME
60
+ end
57
61
  end
58
62
  end
59
63
  end
@@ -5,7 +5,7 @@ module ActiveLogger
5
5
  module Formatters
6
6
  class Default < Base # :nodoc:
7
7
  def call(severity, timestamp, progname, msg)
8
- super(severity, timestamp, progname, "#{tags_text}#{msg}")
8
+ super(severity, timestamp, progname || default_progname, "#{tags_text}#{msg}")
9
9
  end
10
10
  end
11
11
  end
@@ -7,7 +7,7 @@ module ActiveLogger
7
7
  class Json < Base # :nodoc:
8
8
  def call(severity, timestamp, progname, msg)
9
9
  {
10
- progname: progname,
10
+ progname: progname || default_progname,
11
11
  severity: severity,
12
12
  timestamp: timestamp.utc.strftime(datetime_format),
13
13
  tags: current_tags,
@@ -5,6 +5,9 @@ module ActiveLogger #:nodoc:
5
5
  module Appender #:nodoc:
6
6
  extend ActiveSupport::Concern
7
7
 
8
+ class AppenderNotFound < StandardError; end
9
+ class FilenameNotSpecified < StandardError; end
10
+
8
11
  class_methods do
9
12
  def appender(type, options = {})
10
13
  appenders << loggable(type, options)
@@ -13,6 +16,31 @@ module ActiveLogger #:nodoc:
13
16
  def appenders
14
17
  @appenders ||= []
15
18
  end
19
+
20
+ def loggable(type, options = {})
21
+ parameters = []
22
+
23
+ case type
24
+ when :stdout, STDOUT
25
+ parameters << STDOUT
26
+ when :stderr, STDERR
27
+ parameters << STDERR
28
+ when String, Pathname
29
+ parameters = [type.to_s, options[:keep], options[:size]]
30
+ when :file
31
+ raise FilenameNotSpecified if options[:filename].nil?
32
+
33
+ parameters = [options[:filename], options[:keep], options[:size]]
34
+ else
35
+ raise AppenderNotFound
36
+ end
37
+
38
+ logger = ActiveLogger::Logger.new(*parameters)
39
+ logger.level = level
40
+ logger.formatter = formatter
41
+ logger.progname = progname
42
+ logger
43
+ end
16
44
  end
17
45
  end
18
46
  end
@@ -6,9 +6,19 @@ module ActiveLogger #:nodoc:
6
6
  extend ActiveSupport::Concern
7
7
 
8
8
  class_methods do
9
+ def progname=(progname)
10
+ @progname = progname
11
+ end
12
+
13
+ def progname
14
+ @progname
15
+ end
16
+
9
17
  private
10
18
 
11
- def reset!; end
19
+ def reset!
20
+ self.progname = nil
21
+ end
12
22
  end
13
23
  end
14
24
  end
@@ -1,60 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveLogger
4
- module Logger # :nodoc:
5
- module_function
6
-
7
- include ActiveLogger::Helpers::Base
8
- include ActiveLogger::Helpers::Level
9
- include ActiveLogger::Helpers::Formatter
10
- include ActiveLogger::Helpers::Appender
11
-
12
- class AppenderNotFound < StandardError; end
13
- class FilenameNotSpecified < StandardError; end
14
-
15
- def new(*args, &block)
16
- # extract options
17
- options = args.last.is_a?(Hash) ? args.pop : {}
18
-
19
- reset!
20
-
21
- self.formatter = options[:formatter] unless options[:formatter].nil?
22
- self.level = options[:level] unless options[:level].nil?
23
-
24
- if block_given?
25
- block.arity.positive? ? block.call(self) : instance_eval(&block)
26
- else
27
- type = args.first
28
- appender(type, options)
29
- end
30
-
31
- assign_appenders = appenders.drop(1)
32
- loggers = assign_appenders.inject(appenders[0]) { |appender, acc| acc.extend(ActiveSupport::Logger.broadcast(appender)) }
33
- TaggedLogging.new(loggers)
34
- end
35
-
36
- def loggable(type, options = {})
37
- parameters = []
38
-
39
- case type
40
- when :stdout, STDOUT
41
- parameters << STDOUT
42
- when :stderr, STDERR
43
- parameters << STDERR
44
- when String, Pathname
45
- parameters = [type.to_s, options[:keep], options[:size]]
46
- when :file
47
- raise FilenameNotSpecified if options[:filename].nil?
48
-
49
- parameters = [options[:filename], options[:keep], options[:size]]
50
- else
51
- raise AppenderNotFound
52
- end
53
-
54
- logger = ActiveSupport::Logger.new(*parameters)
55
- logger.level = level
56
- logger.formatter = formatter
57
- logger
58
- end
4
+ class Logger < ActiveSupport::Logger # :nodoc:
59
5
  end
60
6
  end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActiveLogger
4
+ module Logging # :nodoc:
5
+ module_function
6
+
7
+ include ActiveLogger::Helpers::Base
8
+ include ActiveLogger::Helpers::Level
9
+ include ActiveLogger::Helpers::Formatter
10
+ include ActiveLogger::Helpers::Appender
11
+
12
+ def new(*args, &block)
13
+ # extract options
14
+ options = args.last.is_a?(Hash) ? args.pop : {}
15
+
16
+ reset!
17
+
18
+ self.formatter = options[:formatter] unless options[:formatter].nil?
19
+ self.level = options[:level] unless options[:level].nil?
20
+ self.progname = options[:progname] unless options[:progname].nil?
21
+
22
+ if block_given?
23
+ block.arity.positive? ? block.call(self) : instance_eval(&block)
24
+ else
25
+ type = args.first
26
+ appender(type, options)
27
+ end
28
+
29
+ assign_appenders = appenders.drop(1)
30
+ loggers = assign_appenders.inject(appenders[0]) { |appender, acc| acc.extend(ActiveSupport::Logger.broadcast(appender)) }
31
+ TaggedLogging.new(loggers)
32
+ end
33
+ end
34
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveLogger
4
- VERSION = '0.4.0'
4
+ VERSION = '0.5.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yury Snegirev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-22 00:00:00.000000000 Z
11
+ date: 2020-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -54,6 +54,7 @@ files:
54
54
  - lib/active_logger/helpers/formatter.rb
55
55
  - lib/active_logger/helpers/level.rb
56
56
  - lib/active_logger/logger.rb
57
+ - lib/active_logger/logging.rb
57
58
  - lib/active_logger/tagged_logging.rb
58
59
  - lib/active_logger/version.rb
59
60
  - log/.keep