cogger 1.4.0 → 1.6.0
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
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +8 -8
- data/cogger.gemspec +2 -2
- data/lib/cogger/configuration.rb +8 -1
- data/lib/cogger/formatters/parsers/position.rb +1 -1
- data/lib/cogger/registry.rb +27 -6
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 925679ac5f76d9dcd1d9dedde73857a6ca6f66b214321926d63b47a56b4eb857
|
4
|
+
data.tar.gz: db34b9122766c6f2b2f914435bd42c41a6b5b77a0b6be2b0352c0630f669c41f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f404fed5aa1db3c8c118586976895c55a231883cbac4a8f386795729a58574103585637440597ea21939ecf6fd32530b616205884aea9bbd50f9f45e6139eeff
|
7
|
+
data.tar.gz: 623939be083087672ed80f20bc8a7641793ec19ded0191bb54f8eb3b72f0a535eeebdc1ae17c5072800198a19b49aef626bfd901264dfff4824a07466be777f0
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -115,6 +115,7 @@ When creating a new logger, you can configure behavior via the following attribu
|
|
115
115
|
* `formatter`: The formatter to use for formatting your log output. Default: `Cogger::Formatter::Color`. See the _Formatters_ section for more info.
|
116
116
|
* `tags`: The global tags used for all log entries. _Must_ be an array of objects you wish to use for tagging purposes. Default: `[]`.
|
117
117
|
* `datetime_format`: The global date/time format used for all `Time`, `Date`, and/or `DateTime` values in your log entries. Default: `%Y-%m-%dT%H:%M:%S.%L%:z`.
|
118
|
+
* `header`: Determines if your log files should start with a date/time header comment. Can be `true` or `false` and is identical to the `skip_header` functionality found in the {logger_link} class. Default: `true`. This is automatically disabled -- and can't be overwritten -- when using the JSON formatter since the JSON format doesn't support code comments.
|
118
119
|
* `mode`: The binary mode which determines if your logs should be written in binary mode or not. Can be `true` or `false` and is identical to the `binmode` functionality found in the {logger_link} class. Default: `false`.
|
119
120
|
* `age`: The rotation age of your log. This only applies when logging to a file. This is equivalent to the `shift_age` as found with the {logger_link} class. Default: `0`.
|
120
121
|
* `size`: The rotation size of your log. This only applies when logging to a file. This is equivalent to the `shift_size` as found with the {logger_link} class. Default: `1,048,576` (i.e. 1 MB).
|
@@ -134,6 +135,7 @@ logger = Cogger.new id: :demo,
|
|
134
135
|
formatter: :json,
|
135
136
|
tags: %w[DEMO DB],
|
136
137
|
datetime_format: "%Y-%m-%d",
|
138
|
+
header: false,
|
137
139
|
mode: false,
|
138
140
|
age: 5,
|
139
141
|
size: 1_000,
|
@@ -236,8 +238,7 @@ To add multiple custom emojis, you can chain messages together when registering
|
|
236
238
|
|
237
239
|
[source,ruby]
|
238
240
|
----
|
239
|
-
Cogger.
|
240
|
-
.add_emoji :favorite, "❇️"
|
241
|
+
Cogger.add_emojis tada: "🎉", favorite: "❇️"
|
241
242
|
----
|
242
243
|
|
243
244
|
If you always want to use the _same_ emoji, you could use the emoji formatter with a specific template:
|
@@ -616,7 +617,7 @@ This allows an emoji to be dynamically applied based on log level. You can add o
|
|
616
617
|
|
617
618
|
[source,ruby]
|
618
619
|
----
|
619
|
-
Cogger.
|
620
|
+
Cogger.add_emojis warn: "🟡"
|
620
621
|
----
|
621
622
|
|
622
623
|
Once an alias is added/updated, it can be immediately applied via the template of your formatter. Example:
|
@@ -943,9 +944,7 @@ To add filters, use:
|
|
943
944
|
|
944
945
|
[source,ruby]
|
945
946
|
----
|
946
|
-
Cogger.
|
947
|
-
.add_filter "email"
|
948
|
-
|
947
|
+
Cogger.add_filters :login, "email"
|
949
948
|
Cogger.filters # #<Set: {:login, :email}>
|
950
949
|
----
|
951
950
|
|
@@ -953,7 +952,7 @@ Symbols and strings can be used interchangeably but are stored as symbols since
|
|
953
952
|
|
954
953
|
[source,ruby]
|
955
954
|
----
|
956
|
-
Cogger.
|
955
|
+
Cogger.add_filters :password
|
957
956
|
logger = Cogger.new formatter: :json
|
958
957
|
logger.info login: "jayne", password: "secret"
|
959
958
|
|
@@ -1186,8 +1185,9 @@ logger.inspect
|
|
1186
1185
|
# @formatter=Cogger::Formatters::Emoji,
|
1187
1186
|
# @datetime_format=\"%Y-%m-%dT%H:%M:%S.%L%:z\",
|
1188
1187
|
# @tags=[],
|
1188
|
+
# @header=true,
|
1189
1189
|
# @mode=false,
|
1190
|
-
# @age
|
1190
|
+
# @age=,
|
1191
1191
|
# @size=1048576,
|
1192
1192
|
# @suffix=\"%Y-%m-%d\",
|
1193
1193
|
# @entry=Cogger::Entry,
|
data/cogger.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "cogger"
|
5
|
-
spec.version = "1.
|
5
|
+
spec.version = "1.6.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://alchemists.io/projects/cogger"
|
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.required_ruby_version = "~> 3.4"
|
26
26
|
spec.add_dependency "core", "~> 2.0"
|
27
27
|
spec.add_dependency "logger", "~> 1.7"
|
28
|
-
spec.add_dependency "refinements", "~> 13.
|
28
|
+
spec.add_dependency "refinements", "~> 13.5"
|
29
29
|
spec.add_dependency "tone", "~> 2.0"
|
30
30
|
spec.add_dependency "zeitwerk", "~> 2.7"
|
31
31
|
|
data/lib/cogger/configuration.rb
CHANGED
@@ -13,6 +13,7 @@ module Cogger
|
|
13
13
|
:formatter,
|
14
14
|
:datetime_format,
|
15
15
|
:tags,
|
16
|
+
:header,
|
16
17
|
:mode,
|
17
18
|
:age,
|
18
19
|
:size,
|
@@ -29,6 +30,7 @@ module Cogger
|
|
29
30
|
formatter: Formatters::Emoji.new,
|
30
31
|
datetime_format: DATETIME_FORMAT,
|
31
32
|
tags: Core::EMPTY_ARRAY,
|
33
|
+
header: true,
|
32
34
|
mode: false,
|
33
35
|
age: nil,
|
34
36
|
size: 1_048_576,
|
@@ -49,6 +51,7 @@ module Cogger
|
|
49
51
|
level:,
|
50
52
|
formatter:,
|
51
53
|
datetime_format:,
|
54
|
+
skip_header: skip_header?,
|
52
55
|
binmode: mode,
|
53
56
|
shift_period_suffix: suffix
|
54
57
|
end
|
@@ -56,8 +59,12 @@ module Cogger
|
|
56
59
|
def inspect
|
57
60
|
"#<#{self.class} @id=#{id}, @io=#{io.class}, @level=#{level}, " \
|
58
61
|
"@formatter=#{formatter.class}, @datetime_format=#{datetime_format.inspect}, " \
|
59
|
-
"@tags=#{tags.inspect}, @mode=#{mode}, @age=#{age}, @size=#{size}, " \
|
62
|
+
"@tags=#{tags.inspect}, @header=#{header}, @mode=#{mode}, @age=#{age}, @size=#{size}, " \
|
60
63
|
"@suffix=#{suffix.inspect}, @entry=#{entry}, @logger=#{logger}>"
|
61
64
|
end
|
65
|
+
|
66
|
+
private
|
67
|
+
|
68
|
+
def skip_header? = formatter == :json || formatter.is_a?(Formatters::JSON) || !header
|
62
69
|
end
|
63
70
|
end
|
data/lib/cogger/registry.rb
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "refinements/hash"
|
3
4
|
require "tone"
|
4
5
|
|
5
6
|
module Cogger
|
6
7
|
# Provides a global regsitry for global configuration.
|
7
8
|
module Registry
|
9
|
+
using Refinements::Hash
|
10
|
+
|
8
11
|
def self.extended descendant
|
9
12
|
descendant.add_alias(:debug, :white)
|
10
13
|
.add_alias(:info, :green)
|
@@ -12,12 +15,14 @@ module Cogger
|
|
12
15
|
.add_alias(:error, :red)
|
13
16
|
.add_alias(:fatal, :bold, :white, :on_red)
|
14
17
|
.add_alias(:any, :dim, :bright_white)
|
15
|
-
.
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
.add_emojis(
|
19
|
+
debug: "🔎",
|
20
|
+
info: "🟢",
|
21
|
+
warn: "⚠️",
|
22
|
+
error: "🛑",
|
23
|
+
fatal: "🔥",
|
24
|
+
any: "⚫️"
|
25
|
+
)
|
21
26
|
.add_formatter(:color, Cogger::Formatters::Color)
|
22
27
|
.add_formatter(
|
23
28
|
:detail,
|
@@ -42,10 +47,18 @@ module Cogger
|
|
42
47
|
def aliases = color.aliases
|
43
48
|
|
44
49
|
def add_emoji key, value
|
50
|
+
warn "`#{self.class}##{__method__}` is deprecated, use `#add_emojis` instead.",
|
51
|
+
category: :deprecated
|
52
|
+
|
45
53
|
emojis[key.to_sym] = value
|
46
54
|
self
|
47
55
|
end
|
48
56
|
|
57
|
+
def add_emojis(**attributes)
|
58
|
+
emojis.merge! attributes.symbolize_keys!
|
59
|
+
self
|
60
|
+
end
|
61
|
+
|
49
62
|
def get_emoji key
|
50
63
|
emojis.fetch(key.to_sym) { fail KeyError, "Unregistered emoji: #{key}." }
|
51
64
|
end
|
@@ -53,10 +66,18 @@ module Cogger
|
|
53
66
|
def emojis = @emojis ||= {}
|
54
67
|
|
55
68
|
def add_filter key
|
69
|
+
warn "`#{self.class}##{__method__}` is deprecated, use `#add_filters` instead.",
|
70
|
+
category: :deprecated
|
71
|
+
|
56
72
|
filters.add key.to_sym
|
57
73
|
self
|
58
74
|
end
|
59
75
|
|
76
|
+
def add_filters(*keys)
|
77
|
+
filters.merge(keys.map(&:to_sym))
|
78
|
+
self
|
79
|
+
end
|
80
|
+
|
60
81
|
def filters = @filters ||= Set.new
|
61
82
|
|
62
83
|
def add_formatter key, formatter, template = nil
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cogger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -69,14 +69,14 @@ dependencies:
|
|
69
69
|
requirements:
|
70
70
|
- - "~>"
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: '13.
|
72
|
+
version: '13.5'
|
73
73
|
type: :runtime
|
74
74
|
prerelease: false
|
75
75
|
version_requirements: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: '13.
|
79
|
+
version: '13.5'
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: tone
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
@@ -175,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
175
|
- !ruby/object:Gem::Version
|
176
176
|
version: '0'
|
177
177
|
requirements: []
|
178
|
-
rubygems_version: 3.7.
|
178
|
+
rubygems_version: 3.7.2
|
179
179
|
specification_version: 4
|
180
180
|
summary: A customizable and feature rich logger.
|
181
181
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|