journald-logger 1.0.1 → 1.1.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
- data/README.md +10 -1
- data/lib/journald/classes/logger.rb +14 -1
- data/lib/journald/classes/trace_logger.rb +8 -4
- data/lib/journald/modules/exceptionable.rb +1 -1
- data/lib/journald/modules/loggable.rb +8 -6
- data/lib/journald/modules/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f439b01c80933fbed06d743b60b53a7f3d87ea33
|
4
|
+
data.tar.gz: 1de7b0eda60725b9d6b0f57c54cce300c0ebf9e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c9962e13a751093b5f7e62ff6a4218c83d663ae4989ffda7183707e58edf9df1136a44d497b56189b92f8acc93961a791991338921064b81d5c046cc5856938
|
7
|
+
data.tar.gz: 6e1ed32b61eadcdaf19f2c5784c43c20b57e372b3c0085b8a4aa0efd22db5225ed1e171e0076026058f8397e8400c7a6763eef10643aefa506990d1ec6f3d607
|
data/README.md
CHANGED
@@ -41,6 +41,15 @@ LEVEL_MAP = {
|
|
41
41
|
|
42
42
|
You may notice it's somewhat different from the one from Syslog::Logger
|
43
43
|
|
44
|
+
## Setting report level
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
logger = Journald::Logger.new('gandalf', Journald::LOG_NOTICE) # set minimal reporting level to notice
|
48
|
+
logger.min_priority = Journald::LOG_NOTICE # runtime change of minimal priority
|
49
|
+
logger.level = Logger::WARN # use Logger severity
|
50
|
+
logger.sev_threshold = Logger::INFO # please pay attention that Logger severity lacks several levels e.g. 'notice'
|
51
|
+
```
|
52
|
+
|
44
53
|
## Tags
|
45
54
|
|
46
55
|
Tags are used to add systemd-journal fields to all subsequent log calls until removed
|
@@ -86,7 +95,7 @@ logger.log_debug 'Debug'
|
|
86
95
|
begin
|
87
96
|
raise "Aw, snap!"
|
88
97
|
rescue => e
|
89
|
-
logger.exception e # log exception with
|
98
|
+
logger.exception e # log exception with LOG_ERR level by default
|
90
99
|
logger.exception e, severity: Logger::WARN # use Logger severity
|
91
100
|
logger.exception e, priority: Journald::LOG_ALERT # use Syslog priority
|
92
101
|
end
|
@@ -4,9 +4,10 @@ module Journald
|
|
4
4
|
include Loggable
|
5
5
|
include Sysloggable
|
6
6
|
|
7
|
-
def initialize(progname = nil, tags = {})
|
7
|
+
def initialize(progname = nil, min_priority = nil, tags = {})
|
8
8
|
@tags = tags
|
9
9
|
@logger = Native
|
10
|
+
self.min_priority = min_priority
|
10
11
|
self.progname = progname
|
11
12
|
end
|
12
13
|
|
@@ -18,6 +19,12 @@ module Journald
|
|
18
19
|
tag(:syslog_identifier, value)
|
19
20
|
end
|
20
21
|
|
22
|
+
attr_reader :min_priority
|
23
|
+
|
24
|
+
def min_priority=(value)
|
25
|
+
@min_priority = value ? value.to_i : ::Journald::LOG_DEBUG
|
26
|
+
end
|
27
|
+
|
21
28
|
# systemd-journal style
|
22
29
|
|
23
30
|
# send systemd-journal message
|
@@ -84,6 +91,12 @@ module Journald
|
|
84
91
|
key = k.to_s.upcase
|
85
92
|
value = v.to_s
|
86
93
|
|
94
|
+
if key == 'PRIORITY'
|
95
|
+
priority = value.to_i
|
96
|
+
|
97
|
+
return 0 if priority > @min_priority # DEBUG = 7, ALERT = 1
|
98
|
+
end
|
99
|
+
|
87
100
|
"#{key}=#{value}"
|
88
101
|
end
|
89
102
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Journald
|
2
2
|
class TraceLogger
|
3
|
-
def initialize(progname = nil, tags = {})
|
4
|
-
@wrapped_logger = Logger.new(progname, tags)
|
3
|
+
def initialize(progname = nil, min_priority = nil, tags = {})
|
4
|
+
@wrapped_logger = ::Journald::Logger.new(progname, min_priority, tags)
|
5
5
|
end
|
6
6
|
|
7
7
|
PASSTHROUGH_METHODS = [
|
@@ -9,9 +9,13 @@ module Journald
|
|
9
9
|
:tag_value,
|
10
10
|
:untag,
|
11
11
|
:progname,
|
12
|
-
:
|
12
|
+
:progname=,
|
13
13
|
:level,
|
14
|
-
:
|
14
|
+
:level=,
|
15
|
+
:sev_threshold,
|
16
|
+
:sev_threshold=,
|
17
|
+
:min_priority,
|
18
|
+
:min_priority=,
|
15
19
|
]
|
16
20
|
|
17
21
|
METHODS = (
|
@@ -2,7 +2,7 @@ module Journald
|
|
2
2
|
class Logger
|
3
3
|
module Exceptionable
|
4
4
|
def exception(e, priority: nil, severity: nil)
|
5
|
-
priority ||= severity_to_priority(severity) || Journald::
|
5
|
+
priority ||= severity_to_priority(severity) || Journald::LOG_ERR
|
6
6
|
real_exception(e, priority, false)
|
7
7
|
end
|
8
8
|
|
@@ -46,7 +46,8 @@ module Journald
|
|
46
46
|
end
|
47
47
|
|
48
48
|
define_method("#{severity_key}?".to_sym) do
|
49
|
-
|
49
|
+
priority = severity_to_priority(severity_value)
|
50
|
+
self.min_priority >= priority
|
50
51
|
end
|
51
52
|
end
|
52
53
|
|
@@ -58,15 +59,16 @@ module Journald
|
|
58
59
|
|
59
60
|
# journald always logs everything
|
60
61
|
def level
|
61
|
-
|
62
|
+
priority = self.min_priority
|
63
|
+
LEVEL_MAP.select{|_,p| p <= priority}.keys.min
|
62
64
|
end
|
63
65
|
|
64
|
-
def
|
65
|
-
|
66
|
+
def level=(severity)
|
67
|
+
self.min_priority = severity_to_priority(severity)
|
66
68
|
end
|
67
69
|
|
68
|
-
|
69
|
-
|
70
|
+
alias_method :sev_threshold, :level
|
71
|
+
alias_method :sev_threshold=, :level=
|
70
72
|
|
71
73
|
# journald does not require formatter or formatting
|
72
74
|
def formatter; end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: journald-logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anton Smirnov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: journald-native
|