semantic_logger 2.15.0 → 2.16.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: cdbe70622c40bdf8a20fc8279e22c21085d8279a
4
- data.tar.gz: f66fcd67a69b00d452e1fa3c978e59fb6d7bf591
3
+ metadata.gz: 6d4e0a0bfded65004b557ad08aa6729d70387841
4
+ data.tar.gz: 9c8f8584584afb4d29c71467f09ab0d87c61fd4e
5
5
  SHA512:
6
- metadata.gz: 17f5b1e431295b2ca8c11df91be4b0c0e3b0a6e05a8b688d27ddf56a6b88c6484f15e2a03b692d1c49e15cb0ff2243a727d2ed66ead6fb4533029473c117bc40
7
- data.tar.gz: 7fbe8f81f9122e6ffe4271314216b70aab44480bfb2a220d3c60a3534e9f55a55a9e2f80ec2f2645de2e4663332a4675d30e4cedff8543f95504fcbd613ab9a7
6
+ metadata.gz: 5dea37b7135aba5a357aa012ff879345d521a5cc25d45f26b14c1292ab2716c644ebfd29b6ed7eaca6aba109c1b945501c43698a9a7c20c9919c85eb8cfeaa12
7
+ data.tar.gz: a061d2c0989485fc5cba5dafc5d96d9d39376805c3d509046c05a46e0dc1c8be4d17d728be939d3cd94315971be1817b95da8baa0b2e223adc156d4de14bdbfc
data/README.md CHANGED
@@ -1,15 +1,15 @@
1
- semantic_logger [![Build Status](https://secure.travis-ci.org/reidmorrison/semantic_logger.png?branch=master)](http://travis-ci.org/reidmorrison/semantic_logger) ![](http://ruby-gem-downloads-badge.herokuapp.com/semantic_logger?type=total)
2
- ===============
1
+ # semantic_logger
2
+ ![](https://img.shields.io/gem/v/semantic_logger.svg) ![](https://img.shields.io/travis/rocketjob/semantic_logger.svg) ![](https://img.shields.io/gem/dt/semantic_logger.svg) ![](https://img.shields.io/badge/status-production%20ready-blue.svg)
3
3
 
4
4
  Low latency, high throughput, enterprise-scale logging system for Ruby
5
5
 
6
- * http://github.com/reidmorrison/semantic_logger
6
+ * http://github.com/rocketjob/semantic_logger
7
7
 
8
8
  ## Documentation
9
9
 
10
- [Semantic Logger Guide](http://reidmorrison.github.io/semantic_logger)
10
+ [Semantic Logger Guide](http://rocketjob.github.io/semantic_logger)
11
11
 
12
- API Documentation: [![semantic_logger API Documentation](https://www.omniref.com/ruby/gems/semantic_logger.png)](https://www.omniref.com/ruby/gems/semantic_logger)
12
+ [Reference Documentation](http://www.rubydoc.info/gems/semantic_logger/)
13
13
 
14
14
  ## Supports
15
15
 
@@ -30,12 +30,17 @@ the log information is being saved. Semantic Logger avoids this slowdown by push
30
30
  log events to an in-memory queue that is serviced by a separate thread that only
31
31
  handles saving log information to multiple destinations at the same time.
32
32
 
33
- ## Dependencies
33
+ ## Rails
34
+
35
+ When running Rails, use [rails_semantic_logger](http://github.com/rocketjob/rails_semantic_logger)
36
+ instead of Semantic Logger directly since it will automatically replace the Rails default logger with Semantic Logger.
37
+
38
+ ## Supports
34
39
 
35
40
  Semantic Logger is tested and supported on the following Ruby platforms:
36
41
  - Ruby 2.0 and above
37
42
  - JRuby 1.7 and above
38
- - JRuby 9.0.0.0 and above
43
+ - JRuby 9.0 and above
39
44
  - Rubinius 2.5 and above
40
45
 
41
46
  The following gems are only required when their corresponding appenders are being used,
@@ -51,48 +56,12 @@ and are therefore not automatically included by this gem:
51
56
 
52
57
  gem install semantic_logger
53
58
 
54
- ## Upgrade Notes:
55
-
56
- ### V2.10
57
-
58
- Ruby 1.8 is no longer supported, see [Ruby 1.8.7 EOL](https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/)
59
-
60
- ### V2.0
61
-
62
- Rails logging is no longer automatically replaced when including SemanticLogger.
63
- Include the [rails_semantic_logger](http://github.com/reidmorrison/rails_semantic_logger)
64
- gem to replace the Rails default logger with SemanticLogger
65
-
66
- ## Meta
67
-
68
- * Code: `git clone git://github.com/reidmorrison/semantic_logger.git`
69
- * Home: <https://github.com/reidmorrison/semantic_logger>
70
- * Bugs: <http://github.com/reidmorrison/semantic_logger/issues>
71
- * Gems: <http://rubygems.org/gems/semantic_logger>
72
-
73
- This project uses [Semantic Versioning](http://semver.org/).
74
-
75
59
  ## Author
76
60
 
77
- [Reid Morrison](https://github.com/reidmorrison) :: @reidmorrison
78
-
79
- ## Contributors
61
+ [Reid Morrison](https://github.com/reidmorrison)
80
62
 
81
- * [Marc Bellingrath](https://github.com/marc)
82
- * [Andrew Medeiros](https://github.com/amedeiros)
63
+ [Contributors](https://github.com/rocketjob/semantic_logger/graphs/contributors)
83
64
 
84
- ## License
65
+ ## Versioning
85
66
 
86
- Copyright 2012, 2013, 2014, 2015 Reid Morrison
87
-
88
- Licensed under the Apache License, Version 2.0 (the "License");
89
- you may not use this file except in compliance with the License.
90
- You may obtain a copy of the License at
91
-
92
- http://www.apache.org/licenses/LICENSE-2.0
93
-
94
- Unless required by applicable law or agreed to in writing, software
95
- distributed under the License is distributed on an "AS IS" BASIS,
96
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
97
- See the License for the specific language governing permissions and
98
- limitations under the License.
67
+ This project uses [Semantic Versioning](http://semver.org/).
data/Rakefile CHANGED
@@ -5,17 +5,17 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
5
5
  require 'semantic_logger/version'
6
6
 
7
7
  task :gem do
8
- system "gem build semantic_logger.gemspec"
8
+ system 'gem build semantic_logger.gemspec'
9
9
  end
10
10
 
11
- task :publish => :gem do
11
+ task publish: :gem do
12
12
  system "git tag -a v#{SemanticLogger::VERSION} -m 'Tagging #{SemanticLogger::VERSION}'"
13
- system "git push --tags"
13
+ system 'git push --tags'
14
14
  system "gem push semantic_logger-#{SemanticLogger::VERSION}.gem"
15
15
  system "rm semantic_logger-#{SemanticLogger::VERSION}.gem"
16
16
  end
17
17
 
18
- desc "Run Test Suite"
18
+ desc 'Run Test Suite'
19
19
  task :test do
20
20
  Rake::TestTask.new(:functional) do |t|
21
21
  t.test_files = FileList['test/*_test.rb']
@@ -25,4 +25,4 @@ task :test do
25
25
  Rake::Task['functional'].invoke
26
26
  end
27
27
 
28
- task :default => :test
28
+ task default: :test
@@ -2,6 +2,7 @@ require 'semantic_logger/core_ext/thread'
2
2
  require 'semantic_logger/version'
3
3
  require 'semantic_logger/semantic_logger'
4
4
 
5
+ # @formatter:off
5
6
  module SemanticLogger
6
7
  autoload :Base, 'semantic_logger/base'
7
8
  autoload :Logger, 'semantic_logger/logger'
@@ -18,6 +19,7 @@ module SemanticLogger
18
19
  autoload :Splunk, 'semantic_logger/appender/splunk'
19
20
  autoload :Bugsnag, 'semantic_logger/appender/bugsnag'
20
21
  end
22
+ # @formatter:on
21
23
 
22
24
  if defined?(JRuby)
23
25
  module JRuby
@@ -32,11 +32,11 @@ module SemanticLogger
32
32
  # 2011-07-19 14:36:15.660 D [1149:ScriptThreadProcess] Rails -- Hello World
33
33
  def default_formatter
34
34
  Proc.new do |log|
35
- tags = log.tags.collect { |tag| "[#{tag}]" }.join(" ") + " " if log.tags && (log.tags.size > 0)
35
+ tags = log.tags.collect { |tag| "[#{tag}]" }.join(' ') + ' ' if log.tags && (log.tags.size > 0)
36
36
 
37
37
  message = log.message.to_s.dup
38
- message << " -- " << log.payload.inspect if log.payload
39
- message << " -- Exception: " << "#{log.exception.class}: #{log.exception.message}\n#{(log.exception.backtrace || []).join("\n")}" if log.exception
38
+ message << ' -- ' << log.payload.inspect unless log.payload.nil? || log.payload.empty?
39
+ message << ' -- Exception: ' << "#{log.exception.class}: #{log.exception.message}\n#{(log.exception.backtrace || []).join("\n")}" if log.exception
40
40
 
41
41
  duration_str = log.duration ? "(#{'%.1f' % log.duration}ms) " : ''
42
42
 
@@ -52,26 +52,31 @@ module SemanticLogger
52
52
  def self.colorized_formatter
53
53
  Proc.new do |log|
54
54
  colors = SemanticLogger::Appender::AnsiColors
55
- tags = log.tags.collect { |tag| "[#{colors::CYAN}#{tag}#{colors::CLEAR}]" }.join(' ') + ' ' if log.tags && (log.tags.size > 0)
55
+ tags = log.tags.collect { |tag| "[#{colors::CYAN}#{tag}#{colors::CLEAR}]" }.join(' ') + ' ' if log.tags && (log.tags.size > 0)
56
56
 
57
57
  message = log.message.to_s.dup
58
- message << " -- " << log.payload.inspect if log.payload
59
- message << " -- Exception: " << "#{colors::BOLD}#{log.exception.class}: #{log.exception.message}#{colors::CLEAR}\n#{(log.exception.backtrace || []).join("\n")}" if log.exception
58
+ unless log.payload.nil? || log.payload.empty?
59
+ payload = log.payload
60
+ payload = (defined?(AwesomePrint) && payload.respond_to?(:ai)) ? payload.ai(multiline: false) : payload.inspect
61
+ message << ' -- ' << payload
62
+ end
63
+ message << ' -- Exception: ' << "#{colors::BOLD}#{log.exception.class}: #{log.exception.message}#{colors::CLEAR}\n#{(log.exception.backtrace || []).join("\n")}" if log.exception
60
64
 
61
65
  duration_str = log.duration ? "(#{colors::BOLD}#{'%.1f' % log.duration}ms#{colors::CLEAR}) " : ''
62
66
 
63
- level_color = case log.level
64
- when :trace
65
- colors::MAGENTA
66
- when :debug
67
- colors::GREEN
68
- when :info
69
- colors::CYAN
70
- when :warn
71
- colors::BOLD
72
- when :error, :fatal
73
- colors::RED
74
- end
67
+ level_color =
68
+ case log.level
69
+ when :trace
70
+ colors::MAGENTA
71
+ when :debug
72
+ colors::GREEN
73
+ when :info
74
+ colors::CYAN
75
+ when :warn
76
+ colors::BOLD
77
+ when :error, :fatal
78
+ colors::RED
79
+ end
75
80
 
76
81
  "#{SemanticLogger::Appender::Base.formatted_time(log.time)} #{level_color}#{colors::BOLD}#{log.level.to_s[0..0].upcase}#{colors::CLEAR} [#{$$}:#{'%.30s' % log.thread_name}] #{tags}#{duration_str}#{level_color}#{log.name}#{colors::CLEAR} -- #{message}"
77
82
  end
@@ -135,4 +140,4 @@ module SemanticLogger
135
140
 
136
141
  end
137
142
  end
138
- end
143
+ end
@@ -54,7 +54,7 @@ class SemanticLogger::Appender::Bugsnag < SemanticLogger::Appender::Base
54
54
  # Returns [Hash] of parameters to send to Bugsnag.
55
55
  def default_formatter
56
56
  proc do |log|
57
- h = { severity: log_level(log), tags: log.tags }
57
+ h = {severity: log_level(log), tags: log.tags, class: log.name}
58
58
  h.merge!(log.payload) if log.payload
59
59
  h
60
60
  end
@@ -40,13 +40,14 @@ module SemanticLogger
40
40
  # logger.info 'Hello World'
41
41
  #
42
42
  def initialize(filename, level=nil, filter=nil, &block)
43
- raise "filename cannot be null when initializing the SemanticLogging::Appender::File" unless filename
44
- @log = if filename.respond_to?(:write) and filename.respond_to?(:close)
45
- filename
46
- else
47
- @filename = filename
48
- reopen
49
- end
43
+ raise 'filename cannot be null when initializing the SemanticLogging::Appender::File' unless filename
44
+ @log =
45
+ if filename.respond_to?(:write) and filename.respond_to?(:close)
46
+ filename
47
+ else
48
+ @filename = filename
49
+ reopen
50
+ end
50
51
 
51
52
  # Set the log level and formatter if supplied
52
53
  super(level, filter, &block)
@@ -60,7 +61,7 @@ module SemanticLogger
60
61
  def reopen
61
62
  return unless @filename
62
63
 
63
- @log = open(@filename, (::File::WRONLY | ::File::APPEND | ::File::CREAT))
64
+ @log = open(@filename, (::File::WRONLY | ::File::APPEND | ::File::CREAT))
64
65
  # Force all log entries to write immediately without buffering
65
66
  # Allows multiple processes to write to the same log file simultaneously
66
67
  @log.sync = true
@@ -35,7 +35,7 @@ module SemanticLogger
35
35
 
36
36
  # Create a MongoDB Appender instance
37
37
  #
38
- # SemanticLogger::Appender::MongoDB.new(:db => Mongo::Connection.new['database'])
38
+ # SemanticLogger::Appender::MongoDB.new(db: Mongo::Connection.new['database'])
39
39
  #
40
40
  # Parameters:
41
41
  # :db [Mongo::Database]
@@ -116,7 +116,7 @@ module SemanticLogger
116
116
  #
117
117
  # Creates an index based on tags to support faster lookups
118
118
  def create_indexes
119
- options = {:capped => true, :size => @collection_size}
119
+ options = {capped: true, size: @collection_size}
120
120
  options[:max] = @collection_max if @collection_max
121
121
  db.create_collection(collection_name, options)
122
122
  db[@collection_name].ensure_index('tags')
@@ -141,14 +141,14 @@ module SemanticLogger
141
141
  # Replace this formatter by supplying a Block to the initializer
142
142
  def default_formatter
143
143
  Proc.new do |log|
144
- document = {
145
- :time => log.time,
146
- :host_name => host_name,
147
- :pid => $$,
148
- :thread_name => log.thread_name,
149
- :name => log.name,
150
- :level => log.level,
151
- :level_index => log.level_index,
144
+ document = {
145
+ time: log.time,
146
+ host_name: host_name,
147
+ pid: $$,
148
+ thread_name: log.thread_name,
149
+ name: log.name,
150
+ level: log.level,
151
+ level_index: log.level_index,
152
152
  }
153
153
  document[:application] = application if application
154
154
  document[:message] = self.class.strip_colorizing(log.message) if log.message
@@ -156,9 +156,9 @@ module SemanticLogger
156
156
  document[:tags] = log.tags if log.tags && (log.tags.size > 0)
157
157
  document[:payload] = log.payload if log.payload
158
158
  document[:exception] = {
159
- :name => log.exception.class.name,
160
- :message => log.exception.message,
161
- :stack_trace => log.exception.backtrace
159
+ name: log.exception.class.name,
160
+ message: log.exception.message,
161
+ stack_trace: log.exception.backtrace
162
162
  } if log.exception
163
163
  document
164
164
  end
@@ -191,4 +191,4 @@ module SemanticLogger
191
191
 
192
192
  end
193
193
  end
194
- end
194
+ end
@@ -63,7 +63,7 @@ class SemanticLogger::Appender::NewRelic < SemanticLogger::Appender::Base
63
63
  # Allow the level for this appender to be overwritten
64
64
  # Default: :error
65
65
  # Note: Not recommended to set the log level to :info, :debug, or :trace as that would flood NewRelic with Error notices
66
- def initialize(level=:error,&block)
66
+ def initialize(level=:error, &block)
67
67
  # Pass on the level and custom formatter if supplied
68
68
  super(level, &block)
69
69
  end
@@ -77,16 +77,16 @@ class SemanticLogger::Appender::NewRelic < SemanticLogger::Appender::Base
77
77
  def default_formatter
78
78
  Proc.new do |log|
79
79
  short_message = self.class.first_non_empty_line(log.message)
80
- metric = log.metric || "#{log.name}/#{short_message}"
80
+ metric = log.metric || "#{log.name}/#{short_message}"
81
81
 
82
- custom_params = { :thread_name => log.thread_name }
82
+ custom_params = {thread_name: log.thread_name}
83
83
  # Only show the message under custom attributes if the error message uses an exception or shortened message (first non-empty line).
84
- custom_params[:message] = log.message if log.message && (log.exception || log.message != short_message)
84
+ custom_params[:message] = log.message if log.message && (log.exception || log.message != short_message)
85
85
  custom_params[:duration] = "#{log.duration} ms" if log.duration
86
- custom_params[:payload] = log.payload if log.payload
87
- custom_params[:tags] = log.tags if log.tags && (log.tags.size > 0)
86
+ custom_params[:payload] = log.payload if log.payload
87
+ custom_params[:tags] = log.tags if log.tags && (log.tags.size > 0)
88
88
 
89
- { :metric => metric, :custom_params => custom_params }
89
+ {metric: metric, custom_params: custom_params}
90
90
  end
91
91
  end
92
92
 
@@ -20,7 +20,7 @@ class SemanticLogger::Appender::Splunk < SemanticLogger::Appender::Base
20
20
  # open the handles to resources
21
21
  def reopen
22
22
  # Connect to splunk. Connect is a synonym for creating a Service by hand and calling login.
23
- @service = Splunk::connect(@config)
23
+ @service = Splunk::connect(@config)
24
24
 
25
25
  # The index we are logging to
26
26
  @service_index = @service.indexes[@index]
@@ -46,7 +46,7 @@ class SemanticLogger::Appender::Splunk < SemanticLogger::Appender::Base
46
46
  password: options[:password]
47
47
  }
48
48
 
49
- @index = options[:index]
49
+ @index = options[:index] || 'main'
50
50
 
51
51
  if @config[:username].nil?
52
52
  raise ArgumentError, 'Must supply a username.'
@@ -56,4 +56,4 @@ class SemanticLogger::Appender::Splunk < SemanticLogger::Appender::Base
56
56
  raise ArgumentError, 'Must supply an index.'
57
57
  end
58
58
  end
59
- end
59
+ end
@@ -48,12 +48,12 @@ module SemanticLogger
48
48
  # ::Syslog::LOG_INFO - "Informational message"
49
49
  # ::Syslog::LOG_DEBUG - "Debugging information"
50
50
  DEFAULT_LEVEL_MAP = {
51
- :fatal => ::Syslog::LOG_CRIT,
52
- :error => ::Syslog::LOG_ERR,
53
- :warn => ::Syslog::LOG_WARNING,
54
- :info => ::Syslog::LOG_NOTICE,
55
- :debug => ::Syslog::LOG_INFO,
56
- :trace => ::Syslog::LOG_DEBUG
51
+ fatal: ::Syslog::LOG_CRIT,
52
+ error: ::Syslog::LOG_ERR,
53
+ warn: ::Syslog::LOG_WARNING,
54
+ info: ::Syslog::LOG_NOTICE,
55
+ debug: ::Syslog::LOG_INFO,
56
+ trace: ::Syslog::LOG_DEBUG
57
57
  }
58
58
 
59
59
  # For more information on the Syslog constants used below see http://ruby-doc.org/stdlib-2.0.0/libdoc/syslog/rdoc/Syslog.html
@@ -106,18 +106,18 @@ module SemanticLogger
106
106
  #
107
107
  # :level_map [Hash]
108
108
  # Supply a custom map of SemanticLogger levels to syslog levels.
109
- # For example, passing in { :warn => ::Syslog::LOG_NOTICE }
109
+ # For example, passing in { warn: ::Syslog::LOG_NOTICE }
110
110
  # would result in a log mapping that matches the default level map,
111
111
  # except for :warn, which ends up with a LOG_NOTICE level instead of a
112
112
  # LOG_WARNING one.
113
113
  # Without overriding any parameters, the level map will be
114
114
  # LEVEL_MAP = {
115
- # :fatal => ::Syslog::LOG_CRIT,
116
- # :error => ::Syslog::LOG_ERR,
117
- # :warn => ::Syslog::LOG_WARNING,
118
- # :info => ::Syslog::LOG_NOTICE,
119
- # :debug => ::Syslog::LOG_INFO,
120
- # :trace => ::Syslog::LOG_DEBUG
115
+ # fatal: ::Syslog::LOG_CRIT,
116
+ # error: ::Syslog::LOG_ERR,
117
+ # warn: ::Syslog::LOG_WARNING,
118
+ # info: ::Syslog::LOG_NOTICE,
119
+ # debug: ::Syslog::LOG_INFO,
120
+ # trace: ::Syslog::LOG_DEBUG
121
121
  # }
122
122
  #
123
123
  # :local_hostname [String]
@@ -143,19 +143,19 @@ module SemanticLogger
143
143
  # For a list of options see the net_tcp_client documentation:
144
144
  # https://www.omniref.com/ruby/gems/net_tcp_client/1.0.0/symbols/Net::TCPClient/initialize
145
145
  def initialize(params = {}, &block)
146
- params = params.dup
147
- @ident = params.delete(:ident) || 'ruby'
148
- @options = params.delete(:options) || (::Syslog::LOG_PID | ::Syslog::LOG_CONS)
149
- @facility = params.delete(:facility) || ::Syslog::LOG_USER
150
- filter = params.delete(:filter)
151
- level = params.delete(:level)
152
- level_map = params.delete(:level_map)
153
- @level_map = DEFAULT_LEVEL_MAP.dup
146
+ params = params.dup
147
+ @ident = params.delete(:ident) || 'ruby'
148
+ @options = params.delete(:options) || (::Syslog::LOG_PID | ::Syslog::LOG_CONS)
149
+ @facility = params.delete(:facility) || ::Syslog::LOG_USER
150
+ filter = params.delete(:filter)
151
+ level = params.delete(:level)
152
+ level_map = params.delete(:level_map)
153
+ @level_map = DEFAULT_LEVEL_MAP.dup
154
154
  @level_map.update(level_map) if level_map
155
- @server = params.delete(:server) || 'syslog://localhost'
156
- uri = URI(@server)
157
- @host = uri.host || 'localhost'
158
- @protocol = (uri.scheme || :syslog).to_sym
155
+ @server = params.delete(:server) || 'syslog://localhost'
156
+ uri = URI(@server)
157
+ @host = uri.host || 'localhost'
158
+ @protocol = (uri.scheme || :syslog).to_sym
159
159
  raise "Unknown protocol #{@protocol}!" unless [:syslog, :tcp, :udp].include?(@protocol)
160
160
  @host = 'localhost' if @protocol == :syslog
161
161
  @port = URI(@server).port || 514
@@ -163,7 +163,7 @@ module SemanticLogger
163
163
  @tcp_client_options = params.delete(:tcp_client)
164
164
 
165
165
  # Warn about any unknown configuration options.
166
- params.each_pair { |key,val| SemanticLogger::Logger.logger.warn "Ignoring unknown configuration option: #{key.inspect} => #{val.inspect}" }
166
+ params.each_pair { |key, val| SemanticLogger::Logger.logger.warn "Ignoring unknown configuration option: #{key.inspect} => #{val.inspect}" }
167
167
 
168
168
  # The syslog_protocol gem is required when logging over TCP or UDP.
169
169
  if [:tcp, :udp].include?(@protocol)
@@ -175,7 +175,7 @@ module SemanticLogger
175
175
 
176
176
  # The net_tcp_client gem is required when logging over TCP.
177
177
  if protocol == :tcp
178
- @tcp_client_options ||= {}
178
+ @tcp_client_options ||= {}
179
179
  @tcp_client_options[:server] = "#{@host}:#{@port}"
180
180
  begin
181
181
  require 'net/tcp_client'
@@ -199,7 +199,7 @@ module SemanticLogger
199
199
  when :tcp
200
200
  # Use the local logger for @remote_syslog so errors with the remote logger can be recorded locally.
201
201
  @tcp_client_options[:logger] = SemanticLogger::Logger.logger
202
- @remote_syslog = Net::TCPClient.new(@tcp_client_options)
202
+ @remote_syslog = Net::TCPClient.new(@tcp_client_options)
203
203
  when :udp
204
204
  @remote_syslog = UDPSocket.new
205
205
  else
@@ -215,7 +215,7 @@ module SemanticLogger
215
215
  case @protocol
216
216
  when :syslog
217
217
  # Since the Ruby Syslog API supports sprintf format strings, double up all existing '%'
218
- message = formatter.call(log).gsub "%", "%%"
218
+ message = formatter.call(log).gsub '%', '%%'
219
219
  ::Syslog.log @level_map[log.level], message
220
220
  when :tcp
221
221
  @remote_syslog.retry_on_connection_failure { @remote_syslog.write("#{syslog_packet_formatter(log)}\r\n") }
@@ -238,8 +238,8 @@ module SemanticLogger
238
238
  tags = log.tags.collect { |tag| "[#{tag}]" }.join(" ") + " " if log.tags && (log.tags.size > 0)
239
239
 
240
240
  message = log.message.to_s
241
- message << " -- " << log.payload.inspect if log.payload
242
- message << " -- " << "#{log.exception.class}: #{log.exception.message}\n#{(log.exception.backtrace || []).join("\n")}" if log.exception
241
+ message << ' -- ' << log.payload.inspect if log.payload
242
+ message << ' -- ' << "#{log.exception.class}: #{log.exception.message}\n#{(log.exception.backtrace || []).join("\n")}" if log.exception
243
243
 
244
244
  duration_str = log.duration ? "(#{'%.1f' % log.duration}ms) " : ''
245
245
 
@@ -249,10 +249,10 @@ module SemanticLogger
249
249
 
250
250
  # Format the syslog packet so it can be sent over TCP or UDP
251
251
  def syslog_packet_formatter(log)
252
- packet = SyslogProtocol::Packet.new
252
+ packet = SyslogProtocol::Packet.new
253
253
  packet.hostname = @local_hostname
254
254
  packet.facility = @facility
255
- packet.severity = @level_map[log.level]
255
+ packet.severity = @level_map[log.level]
256
256
  packet.tag = @ident
257
257
  packet.content = default_formatter.call(log)
258
258
  packet.to_s