README.md in semantic_logger-4.8.2 vs README.md in semantic_logger-4.9.0

- old
+ new

@@ -7,20 +7,10 @@ ## Documentation [Semantic Logger Guide](https://logger.rocketjob.io/) -## Upgrading to Semantic Logger v4.4 - -With some forking frameworks it is necessary to call `reopen` after the fork. With v4.4 the -workaround for Ruby 2.5 crashes is no longer needed. -I.e. Please remove the following line if being called anywhere: - -~~~ruby -SemanticLogger::Processor.instance.instance_variable_set(:@queue, Queue.new) -~~~ - ## Logging Destinations Logging to the following destinations are all supported "out-of-the-box": * File @@ -69,10 +59,50 @@ - Syslog Appender to a remote syslogng server over TCP or UDP: gem 'net_tcp_client' - Splunk Appender: gem 'splunk-sdk-ruby' - Elasticsearch Appender: gem 'elasticsearch' - Kafka Appender: gem 'ruby-kafka' -## V4 Upgrade notes +## Upgrading to Semantic Logger v4.9 + +These changes should not be noticeable by the majority of users of Semantic Logger, since +they are to the internal API. It is possible that advanced users may be using these internal +API's directly. + +This does not affect any calls to the public api `SemanticLogger.add_appender`. + +File and IO are now separate appenders. When creating the File appender explicitly, its arguments +have changed. For example, when requesting an IO stream, it needs to be changed from: + +~~~ruby +SemanticLogger::Appender::File.new(io: $stderr) +~~~ +to: +~~~ruby +SemanticLogger::Appender::IO.new($stderr) +~~~ + +Additionally, this needs to be changed from: +~~~ruby +SemanticLogger::Appender::File.new(file_name: "file.log") +~~~ +to: +~~~ruby +SemanticLogger::Appender::File.new("file.log") +~~~ + +Rails Semantic Logger, if used, needs to be upgraded to v4.9 when upgrading to Semantic Logger v4.9. + +## Upgrading to Semantic Logger v4.4 + +With some forking frameworks it is necessary to call `reopen` after the fork. With v4.4 the +workaround for Ruby 2.5 crashes is no longer needed. +I.e. Please remove the following line if being called anywhere: + +~~~ruby +SemanticLogger::Processor.instance.instance_variable_set(:@queue, Queue.new) +~~~ + +## Upgrading to Semantic Logger v4.0 The following changes need to be made when upgrading to V4: - Ruby V2.3 / JRuby V9.1 is now the minimum runtime version. - Replace calls to Logger#with_payload with SemanticLogger.named_tagged. - Replace calls to Logger#payload with SemanticLogger.named_tags.