bmc-daemon-lib 0.1.1 → 0.1.2

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: 54cb8d5ebed46ef42910b486dd3cb4bb6cf7267d
4
- data.tar.gz: 783a704b84e1737b60f495dbda942a4bb5e21d2b
3
+ metadata.gz: ed9ad3dcff468f9985fead6dee82b410b31c102c
4
+ data.tar.gz: fc5db932cc62485666498ce1484c71ac777f42b6
5
5
  SHA512:
6
- metadata.gz: f939c454cdb4a2b0e95b024448f58aebe910638b4cf093a6de7897c369c4b06f0537c17a9356967e9522734ca23c98344f6d53d9c4d09b518193c792606164f9
7
- data.tar.gz: 3bc34da2d06b8573eb8f45ba8a0c3e6d1ef42257352e8cf2cd8fe4cdf7d8f96602e8f46284a105e1a6eaf8b97e88537a0ff4f8a8cbfefbcc5b0964d287caab17
6
+ metadata.gz: 6292fe5cd270d41d6b623382a54db753c7a8d06d0b0401915db31a1c546647b80eb75eebed309bea110f7c66a3649251e317647d6a90889b8a8b0be131ba4ca9
7
+ data.tar.gz: ceeb98c78d297955c0ad58dc27cb761067ce12fe49ebea611e3e5fd5bd8edd8d7a7ad6e63bfccd850615e38b0ee96754d681be96c1754a49bd53fa5b441cb077
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bmc-daemon-lib (0.1.1)
4
+ bmc-daemon-lib (0.1.2)
5
5
  chamber (~> 2.9)
6
6
  newrelic_rpm
7
7
 
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  # Project version
4
- spec.version = "0.1.1"
4
+ spec.version = "0.1.2"
5
5
 
6
6
  # Project description
7
7
  spec.name = "bmc-daemon-lib"
@@ -0,0 +1,31 @@
1
+ module BmcDaemonLib
2
+ class LoggerFormatter
3
+
4
+ def self.call severity, datetime, progname, payload
5
+ # Build common values
6
+ timestamp = datetime.strftime(LOG_HEADER_TIME)
7
+
8
+ # Build header
9
+ header = sprintf LOG_HEADER_FORMAT,
10
+ timestamp,
11
+ Process.pid,
12
+ severity,
13
+ progname
14
+
15
+ # If we have a bunch of lines, prefix them and send them together
16
+ return payload.map do |line|
17
+ "#{header}#{trimmed(line)}\n"
18
+ end.join if payload.is_a?(Array)
19
+
20
+ # Otherwise, just prefix the only line
21
+ return "#{header}#{trimmed(payload)}\n"
22
+ end
23
+
24
+ protected
25
+
26
+ def self.trimmed line
27
+ line.to_s.rstrip[0..LOG_MESSAGE_TRIM].force_encoding(Encoding::UTF_8)
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,78 @@
1
+ require "logger"
2
+
3
+ module BmcDaemonLib
4
+ module LoggerHelper
5
+
6
+ protected
7
+
8
+ def log_info message, details = nil
9
+ build_messages Logger::INFO, message, details
10
+ end
11
+
12
+ def log_error message, details = nil
13
+ build_messages Logger::ERROR, message, details
14
+ end
15
+
16
+ def log_debug message, details = nil
17
+ build_messages Logger::DEBUG, message, details
18
+ end
19
+
20
+ alias info log_info
21
+ alias error log_error
22
+ alias debug log_debug
23
+
24
+ private
25
+
26
+ # Builds prefix if LOG_PREFIX_FORMAT defined and caller has log_prefix method to provide values
27
+ def build_prefix
28
+ # Skip if no values from user class
29
+ return unless respond_to?(:log_prefix, true)
30
+ values = log_prefix
31
+
32
+ # Skip if no format defined
33
+ return unless defined?('LOG_PREFIX_FORMAT')
34
+ return unless LOG_PREFIX_FORMAT.is_a? String
35
+
36
+ # Build prefix string
37
+ LOG_PREFIX_FORMAT % values.map(&:to_s)
38
+ end
39
+
40
+ def build_messages severity, message, details = nil
41
+ messages = []
42
+ # messages << "/---------------------------------------"
43
+ # messages << "severity: #{severity}"
44
+ # messages << "message: #{message.class}"
45
+ # messages << "details: #{details.class} #{details.inspect}"
46
+ # messages << "ARRAY(#{details.count})" if details.is_a? Array
47
+ # messages << "HASH(#{details.count})" if details.is_a? Hash
48
+
49
+ prefix = build_prefix
50
+
51
+ # Add main message
52
+ messages << sprintf(LOG_MESSAGE_TEXT, prefix, message) if message
53
+
54
+ # Add details from array
55
+ details.each do |line|
56
+ messages << sprintf(LOG_MESSAGE_ARRAY, prefix, line)
57
+ end if details.is_a? Array
58
+
59
+ # Add details from hash
60
+ details.each do |key, value|
61
+ messages << sprintf(LOG_MESSAGE_HASH, prefix, key, value)
62
+ end if details.is_a? Hash
63
+
64
+ # Return all that stuff
65
+ # messages << "\\---------------------------------------"
66
+ logger.add severity, messages
67
+ end
68
+
69
+ # def debug_lines lines, prefix = ''
70
+ # if lines.is_a? Array
71
+ # logger.debug lines.map{ |line| sprintf(LOG_MESSAGE_ARRAY, prefix, line) }
72
+ # elsif lines.is_a? Hash
73
+ # logger.debug lines.map{ |key, value| sprintf(LOG_MESSAGE_HASH, prefix, key, value) }
74
+ # end
75
+ # end
76
+
77
+ end
78
+ end
@@ -1,4 +1,4 @@
1
+ require_relative "bmc-daemon-lib/conf"
1
2
  require_relative "bmc-daemon-lib/logger_formatter"
2
3
  require_relative "bmc-daemon-lib/logger_helper"
3
- require_relative "bmc-daemon-lib/conf"
4
- require_relative "bmc-daemon-lib/worker_base"
4
+ # require_relative "bmc-daemon-lib/worker_base"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bmc-daemon-lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruno MEDICI
@@ -109,6 +109,8 @@ files:
109
109
  - bmc-daemon-lib.gemspec
110
110
  - lib/bmc-daemon-lib.rb
111
111
  - lib/bmc-daemon-lib/conf.rb
112
+ - lib/bmc-daemon-lib/logger_formatter.rb
113
+ - lib/bmc-daemon-lib/logger_helper.rb
112
114
  homepage: http://github.com/bmedici/bmc-daemon-lib
113
115
  licenses:
114
116
  - MIT