All Versions
64
Latest Version
Avg Release Cycle
60 days
Latest Release
-
Changelog History
Page 3
Changelog History
Page 3
-
v4.1.0 Changes
May 09, 2017โ Added
- ๐ New log format customization mechanism. Any element within the log format can be replaced without having to re-implement entire formatter.
- Apache Kafka Appender.
- Prototype Syslog CEE format.
- ๐
logger#tagged
now supports named tags. (Hash)
๐ Changed
- Elasticsearch now uses a bulk load api to improve throughput. Thank you Xavier Lange
- ๐ Replaced hash arguments with Ruby keyword arguments across all appenders and formatters.
- โ Removed deprecated arguments.
- ๐จ Refactored Syslog appender and moved format code out of appender and into Syslog formatter.
- When the process exits
SemanticLogger.close
is now called instead ofSemanticLogger.flush
. Earlier test fameworks had issues where theat_exit
was called and shutdown Semantic Logger before tests were run.
โฌ๏ธ Upgrade notes:
- ๐ As noted above deprecated arguments have been removed, so the following code, if any: ๐ ~~~ruby SemanticLogger::Appender::File.new($stderr, :warn) ~~~
Needs to be replaced with keyword arguments: ๐ ~~~ruby SemanticLogger::Appender::File.new(io: $stderr, level: :warn)
-
v4.0.0 Changes
March 02, 2017โ Added
- ๐ฒ #backtrace to log the backtrace for a thread.
- ๐ฒ
named_tags
to support hash like tagging of log messages.
๐ Changed
- ๐ Ruby V2.1 is now the minimum runtime version.
- ๐ Switch from Hash arguments to Ruby keyword arguments, for better performance, validation and defaults.
- ๐ฐ Replaced Logger#with_payload with SemanticLogger.named_tagged.
- ๐ฐ Replaced Logger#payload with SemanticLogger.named_tags.
๐ฐ Any payload elements passed into the log line must now be specified in a separate :payload tag.
- For example any occurrences of: ~~~ruby logger.error(message: 'Hello', response: response_message) ~~~
- Must be changed to use the payload tag:
logger.error(message: 'Hello', payload: {response: response_message} )
- Otherwise Ruby will raise the following error:
ArgumentError: unknown keywords: response semantic_logger/lib/semantic_logger/log.rb:65:in `assign'
๐ For JSON and Hash appender format, payload is now in its own :payload tag instead of being merged into the hash.
Text and Color formatters now include named_tags in their output.
โฌ๏ธ MongoDB Appender has been upgraded to support Mongo Ruby Client V2.
Replaced hash arguments with keyword arguments.
- For example, the Bugsnag Appender now only accepts the level as follows: ๐ ~~~ruby SemanticLogger::Appender::Bugsnag.new(level: :info) ~~~
๐ Fixed
- ๐ป Graylog appender when logger is called with only an exception object.
- ๐ During a backtrace dump, include the current thread on Ruby MRI.
โฌ๏ธ Dropped Support for
- ๐ Rails 3.2
- ๐ Ruby 1.9 & 2.0
- ๐ JRuby 1.7
-
v3.4.1 Changes
๐ Fixed
- Failed to load appender when symbolic name includes an underscore, for example: ๐ ~~~ruby SemanticLogger.add_appender(appender: :new_relic) ~~~
-
v3.4.0 Changes
โ Added
- ๐ฒ Sentry Logging Appender.
- :metric_amount in JSON and Hash output.
- โ Add silence_logger for Active Record's Session Store.
-
v3.3.0 Changes
โ Added
- โ Add Raw Formatter.
- โ Add standard application and host variables for all appenders.
- โ Add TCP log appender, with support for SSL connections.
- โ Add UDP log appender.
๐ Changed
- Consolidate formatter argument extraction.
- โ Log warning at 1,000 and info at 100 queued messages if logging appenders back up.
- SemanticLogger::Appender::Base is now SemanticLogger::Subscriber
๐ Fixed
SemanticLogger.on_metric
when using a Symbol was not resolving to the correct namespace.- ๐ Support global
SemanticLogger.application
andSemanticLogger.host
in HTTP Appender
-
v3.2.1 Changes
March 08, 2016๐ Fixed
- ๐ Correctly support SSL options when using https with the HTTP Appender.
- Also affects SplunkHttp and ElasticSearch appenders when using SSL.
-
v3.2.0 Changes
March 02, 2016โ Added
- ๐ New Honeybadger appender, care of Chris Lamb.
- Send log messages to Honeybadger.
๐ Changed
- โฌ๏ธ Upgrade native Splunk appender to current API.
- Cleanup appenders and use
should_log?
. - ๐ Moved Thread specific logging methods to global
SemanticLogger
namespace.SemanticLogger.tagged
SemanticLogger.tags
SemanticLogger.push_tags
SemanticLogger.pop_tags
SemanticLogger.fast_tag
SemanticLogger.on_metric
now takes in addition to a Proc, an object that responds to #call, or a Symbol naming a builtin metrics appender.- For example:
:new_relic
,statsd
- For example:
โ Removed
- โ Removed deprecated methods:
SemanticLogger::Logger.appenders
SemanticLogger::Logger.cache_count
- ๐ New Honeybadger appender, care of Chris Lamb.
-
v3.1.0 Changes
February 27, 2016โ Added
- ๐ฒ Hash only log message. Example:
๐ ~~~ruby logger.info message: 'Hello', metric: 'user/hello', duration: 25
- ๐ APIs to make `SemanticLogger::Logger` fully compatible with the Ruby `Logger`. - `<<` - `progname`, `progname=` - `sev_threshold`, `sev_threshold=` - `formatter` - `datetime_format` - `close` - `reopen` - `add` - ๐ New Relic and Bugsnag metrics appenders. - Send metrics to New Relic or Bugsnag by specifying `:metric` on log entries. ### ๐ Changed - ๐ Replaced `benchmark_info` with better named `measure_info`, etc. - Existing `benchmark_...` methods have been retained for backward compatibilty. - Break out formatters into their own namespace - `SemanticLogger::Formatters::Color`, :color - `SemanticLogger::Formatters::Default`, :default - `SemanticLogger::Formatters::Json`, :json - ๐ Changed `SemanticLogger.add_appender` to take hash parameters. - Deprecated non hash style arguments. - For Example: - `SemanticLogger.add_appender(file_name: 'development.log', formatter: :color)` - See [Appenders](http://rocketjob.github.io/semantic_logger/appenders.html) - Move AnsiColors into its own module: `SemanticLogger::AnsiColors` - ๐ Appenders now use the same hash style arguments as `SemanticLogger.add_appender`. - Appenders use the new common formatters where applicable. - ๐ Appenders now use custom formatters as the `#call` method for better performance over blocks. - ๐ Bugsnag appender will now forward `:fatal` errors, since some were being ignored and not being reported in Bugsnag. Changes in [Rails Semantic Logger](http://rocketjob.github.io/semantic_logger/rails.html) allow Rails messages to be sent correctly to Bugsnag. - ๐ Use Ruby's built-in JSON library ### ๐ Fixes - Elasticsearch Appender rotates through daily indexes without restart.
-
v3.0.0 Changes
February 08, 2016โ Added
- ๐ New Elasticsearch appender.
- Send log messages directly to Elasticsearch.
- Viewable and searchable in kibana.
- ๐ New HTTP(S) appender.
- Use HTTP POST to forward log messages.
- By default uses JSON format, and can be customized as needed.
- ๐ New Graylog appender.
- Use HTTP POST to forward log messages.
- By default uses JSON format, and can be customized as needed.
- Global settings for host and application names that are shared across all appenders:
SemanticLogger.host
SemanticLogger.application
- JSON output formatter.
๐ Changed
- ๐ All appenders must support
:filter
, and:levels
- Syslog appender
- Use
:url
instead of:server
option. - Specify protocol in
:uri
now instead of separately.SemanticLogger::Appender::Syslog.new(url: 'udp://myloghost:514')
- Use
- ๐ Better logic to exclude SemanticLogger from the top of the captured backtrace.
- ๐ Better error messages when soft dependencies are not present.
- ๐ New Elasticsearch appender.
-
v2.21.0 Changes
December 18, 2015โ Added
- ๐จ Soft load Awesome Print if present to colorize any logged Hash data.
fast_tag
as a much faster alternative totagged
when adding just a single string to the tag list.- ๐ Other performance improvements.
๐ Fixed
- ๐ฒ Correctly log the file name and line number of the log message even when an exception stacktrace is logged.