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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9687426a5dfa6a08d6911f0039a2b96baf58f59b
4
- data.tar.gz: bbd7f7f9ef41c560dbaff136dcbf7796c7785495
3
+ metadata.gz: f439b01c80933fbed06d743b60b53a7f3d87ea33
4
+ data.tar.gz: 1de7b0eda60725b9d6b0f57c54cce300c0ebf9e9
5
5
  SHA512:
6
- metadata.gz: 6e95eb9a3d24918e802228d5789916ffff5992182a33e4abf1f20fffbf11fc6159b6c394f44e3f34e52060c3b76721ba717a306d3a3976ab7ac569d870985e50
7
- data.tar.gz: a995a08142c11a182ab6d8025b82aaf0b1b3d3d1b5d348d194fcaf845b2908e68346bf74abd190560e0fa4ce29d36e2f8d8ad544de10f4198468d247137dde79
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 LOG_CRIT level by default
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
- :'progname=',
12
+ :progname=,
13
13
  :level,
14
- :'level=',
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::LOG_CRIT
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
- true # journald always logs everything
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
- ::Logger::DEBUG
62
+ priority = self.min_priority
63
+ LEVEL_MAP.select{|_,p| p <= priority}.keys.min
62
64
  end
63
65
 
64
- def sev_threshold
65
- ::Logger::DEBUG
66
+ def level=(severity)
67
+ self.min_priority = severity_to_priority(severity)
66
68
  end
67
69
 
68
- def level=(_); end
69
- def sev_threshold=(_); end
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
@@ -1,5 +1,5 @@
1
1
  module Journald
2
2
  class Logger
3
- VERSION = '1.0.1'
3
+ VERSION = '1.1.0'
4
4
  end
5
5
  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.1
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 00:00:00.000000000 Z
11
+ date: 2014-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: journald-native