lumberjack 1.2.3 → 1.2.8
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 +4 -4
- data/CHANGELOG.md +31 -8
- data/{MIT_LICENSE → MIT_LICENSE.txt} +0 -0
- data/README.md +11 -8
- data/VERSION +1 -1
- data/lib/lumberjack.rb +38 -28
- data/lib/lumberjack/device.rb +12 -12
- data/lib/lumberjack/device/date_rolling_log_file.rb +7 -7
- data/lib/lumberjack/device/log_file.rb +6 -6
- data/lib/lumberjack/device/multi.rb +6 -6
- data/lib/lumberjack/device/null.rb +1 -1
- data/lib/lumberjack/device/rolling_log_file.rb +43 -19
- data/lib/lumberjack/device/size_rolling_log_file.rb +9 -9
- data/lib/lumberjack/device/writer.rb +12 -12
- data/lib/lumberjack/formatter.rb +15 -15
- data/lib/lumberjack/formatter/date_time_formatter.rb +2 -3
- data/lib/lumberjack/formatter/exception_formatter.rb +0 -2
- data/lib/lumberjack/formatter/id_formatter.rb +2 -2
- data/lib/lumberjack/formatter/pretty_print_formatter.rb +4 -4
- data/lib/lumberjack/formatter/structured_formatter.rb +31 -16
- data/lib/lumberjack/log_entry.rb +8 -10
- data/lib/lumberjack/logger.rb +90 -28
- data/lib/lumberjack/rack.rb +3 -3
- data/lib/lumberjack/rack/request_id.rb +1 -1
- data/lib/lumberjack/rack/unit_of_work.rb +1 -1
- data/lib/lumberjack/severity.rb +1 -2
- data/lib/lumberjack/tag_formatter.rb +1 -3
- data/lib/lumberjack/tagged_logger_support.rb +0 -1
- data/lib/lumberjack/tagged_logging.rb +29 -0
- data/lib/lumberjack/tags.rb +1 -1
- data/lib/lumberjack/template.rb +2 -2
- data/lumberjack.gemspec +12 -16
- metadata +5 -46
data/lib/lumberjack/rack.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
module Lumberjack
|
4
4
|
module Rack
|
5
|
-
require_relative "rack/unit_of_work
|
6
|
-
require_relative "rack/request_id
|
7
|
-
require_relative "rack/context
|
5
|
+
require_relative "rack/unit_of_work"
|
6
|
+
require_relative "rack/request_id"
|
7
|
+
require_relative "rack/context"
|
8
8
|
end
|
9
9
|
end
|
@@ -16,7 +16,7 @@ module Lumberjack
|
|
16
16
|
def call(env)
|
17
17
|
request_id = env[REQUEST_ID]
|
18
18
|
if request_id && @abbreviated
|
19
|
-
request_id = request_id.split(
|
19
|
+
request_id = request_id.split("-", 2).first
|
20
20
|
end
|
21
21
|
Lumberjack.unit_of_work(request_id) do
|
22
22
|
@app.call(env)
|
data/lib/lumberjack/severity.rb
CHANGED
@@ -11,7 +11,7 @@ module Lumberjack
|
|
11
11
|
FATAL = ::Logger::Severity::FATAL
|
12
12
|
UNKNOWN = ::Logger::Severity::UNKNOWN
|
13
13
|
|
14
|
-
SEVERITY_LABELS = %w
|
14
|
+
SEVERITY_LABELS = %w[DEBUG INFO WARN ERROR FATAL UNKNOWN].freeze
|
15
15
|
|
16
16
|
class << self
|
17
17
|
def level_to_label(severity)
|
@@ -22,6 +22,5 @@ module Lumberjack
|
|
22
22
|
SEVERITY_LABELS.index(label.to_s.upcase) || UNKNOWN
|
23
23
|
end
|
24
24
|
end
|
25
|
-
|
26
25
|
end
|
27
26
|
end
|
@@ -9,7 +9,6 @@ module Lumberjack
|
|
9
9
|
# tag_formatter.add(["password", "email"]) { |value| "***" }
|
10
10
|
# tag_formatter.add("finished_at", Lumberjack::Formatter::DateTimeFormatter.new("%Y-%m-%dT%H:%m:%S%z"))
|
11
11
|
class TagFormatter
|
12
|
-
|
13
12
|
def initialize
|
14
13
|
@formatters = {}
|
15
14
|
@default_formatter = nil
|
@@ -87,12 +86,11 @@ module Lumberjack
|
|
87
86
|
if formatter.is_a?(TaggedLoggerSupport::Formatter)
|
88
87
|
formatter.__formatter
|
89
88
|
elsif formatter.is_a?(Symbol)
|
90
|
-
formatter_class_name = "#{formatter.to_s.gsub(/(^|_)([a-z])/){|m| $~[2].upcase}}Formatter"
|
89
|
+
formatter_class_name = "#{formatter.to_s.gsub(/(^|_)([a-z])/) { |m| $~[2].upcase }}Formatter"
|
91
90
|
Formatter.const_get(formatter_class_name).new
|
92
91
|
else
|
93
92
|
formatter
|
94
93
|
end
|
95
94
|
end
|
96
|
-
|
97
95
|
end
|
98
96
|
end
|
@@ -6,7 +6,6 @@ require "forwardable"
|
|
6
6
|
module Lumberjack
|
7
7
|
# Methods to make Lumberjack::Logger API compatible with ActiveSupport::TaggedLogger.
|
8
8
|
module TaggedLoggerSupport
|
9
|
-
|
10
9
|
class Formatter < DelegateClass(Lumberjack::Formatter)
|
11
10
|
extend Forwardable
|
12
11
|
def_delegators :@logger, :tagged, :push_tags, :pop_tags, :clear_tags!
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Lumberjack
|
4
|
+
# Monkey patch for ActiveSupport::TaggedLogger so it doesn't blow up when
|
5
|
+
# a Lumberjack logger is trying to be wrapped. This module will be automatically
|
6
|
+
# included in ActiveSupport::TaggedLogger if activesupport is already loaded.
|
7
|
+
module TaggedLogging
|
8
|
+
class << self
|
9
|
+
def included(base)
|
10
|
+
base.singleton_class.send(:prepend, ClassMethods)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module ClassMethods
|
15
|
+
def new(logger)
|
16
|
+
if logger.is_a?(Lumberjack::Logger)
|
17
|
+
logger = logger.tagged_logger! unless logger.respond_to?(:tagged)
|
18
|
+
logger
|
19
|
+
else
|
20
|
+
super
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
if defined?(ActiveSupport::TaggedLogging)
|
28
|
+
ActiveSupport::TaggedLogging.include(Lumberjack::TaggedLogging)
|
29
|
+
end
|
data/lib/lumberjack/tags.rb
CHANGED
data/lib/lumberjack/template.rb
CHANGED
@@ -14,7 +14,7 @@ module Lumberjack
|
|
14
14
|
# If your tag name contains characters other than alpha numerics and the underscore, you must surround it
|
15
15
|
# with curly brackets: `:{http.request-id}`.
|
16
16
|
class Template
|
17
|
-
TEMPLATE_ARGUMENT_ORDER = %w
|
17
|
+
TEMPLATE_ARGUMENT_ORDER = %w[:time :severity :progname :pid :message :tags].freeze
|
18
18
|
MILLISECOND_TIME_FORMAT = "%Y-%m-%dT%H:%M:%S.%3N"
|
19
19
|
MICROSECOND_TIME_FORMAT = "%Y-%m-%dT%H:%M:%S.%6N"
|
20
20
|
PLACEHOLDER_PATTERN = /:(([a-z0-9_]+)|({[^}]+}))/i.freeze
|
@@ -86,7 +86,7 @@ module Lumberjack
|
|
86
86
|
def tag_args(tags, tag_vars)
|
87
87
|
return [nil] * (tag_vars.size + 1) if tags.nil? || tags.size == 0
|
88
88
|
|
89
|
-
tags_string =
|
89
|
+
tags_string = ""
|
90
90
|
tags.each do |name, value|
|
91
91
|
unless value.nil? || tag_vars.include?(name)
|
92
92
|
value = value.to_s
|
data/lumberjack.gemspec
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
|
-
spec.name =
|
3
|
-
spec.version = File.read(File.
|
4
|
-
spec.authors = [
|
5
|
-
spec.email = [
|
2
|
+
spec.name = "lumberjack"
|
3
|
+
spec.version = File.read(File.join(__dir__, "VERSION")).strip
|
4
|
+
spec.authors = ["Brian Durand"]
|
5
|
+
spec.email = ["bbdurand@gmail.com"]
|
6
6
|
|
7
7
|
spec.summary = "A simple, powerful, and very fast logging utility that can be a drop in replacement for Logger or ActiveSupport::BufferedLogger."
|
8
8
|
spec.homepage = "https://github.com/bdurand/lumberjack"
|
@@ -10,26 +10,22 @@ Gem::Specification.new do |spec|
|
|
10
10
|
|
11
11
|
# Specify which files should be added to the gem when it is released.
|
12
12
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
13
|
-
ignore_files = %w
|
14
|
-
.
|
15
|
-
.travis.yml
|
13
|
+
ignore_files = %w[
|
14
|
+
.
|
16
15
|
Appraisals
|
17
16
|
Gemfile
|
18
17
|
Gemfile.lock
|
19
18
|
Rakefile
|
20
19
|
gemfiles/
|
21
20
|
spec/
|
22
|
-
|
23
|
-
spec.files = Dir.chdir(
|
24
|
-
`git ls-files -z`.split("\x0").reject{ |f| ignore_files.any?{ |path| f.start_with?(path) } }
|
21
|
+
]
|
22
|
+
spec.files = Dir.chdir(__dir__) do
|
23
|
+
`git ls-files -z`.split("\x0").reject { |f| ignore_files.any? { |path| f.start_with?(path) } }
|
25
24
|
end
|
26
25
|
|
27
|
-
spec.require_paths = [
|
26
|
+
spec.require_paths = ["lib"]
|
28
27
|
|
29
|
-
spec.required_ruby_version =
|
28
|
+
spec.required_ruby_version = ">= 2.3.0"
|
30
29
|
|
31
|
-
spec.add_development_dependency
|
32
|
-
spec.add_development_dependency("timecop")
|
33
|
-
spec.add_development_dependency "rake"
|
34
|
-
spec.add_development_dependency "appraisal"
|
30
|
+
spec.add_development_dependency "bundler"
|
35
31
|
end
|
metadata
CHANGED
@@ -1,59 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lumberjack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Durand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '3.0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '3.0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: timecop
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: appraisal
|
14
|
+
name: bundler
|
57
15
|
requirement: !ruby/object:Gem::Requirement
|
58
16
|
requirements:
|
59
17
|
- - ">="
|
@@ -74,7 +32,7 @@ extensions: []
|
|
74
32
|
extra_rdoc_files: []
|
75
33
|
files:
|
76
34
|
- CHANGELOG.md
|
77
|
-
- MIT_LICENSE
|
35
|
+
- MIT_LICENSE.txt
|
78
36
|
- README.md
|
79
37
|
- VERSION
|
80
38
|
- lib/lumberjack.rb
|
@@ -106,6 +64,7 @@ files:
|
|
106
64
|
- lib/lumberjack/severity.rb
|
107
65
|
- lib/lumberjack/tag_formatter.rb
|
108
66
|
- lib/lumberjack/tagged_logger_support.rb
|
67
|
+
- lib/lumberjack/tagged_logging.rb
|
109
68
|
- lib/lumberjack/tags.rb
|
110
69
|
- lib/lumberjack/template.rb
|
111
70
|
- lumberjack.gemspec
|