journald-logger 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|