Releases: outr/scribe
Releases · outr/scribe
2.8.0
- Changed how LogModifiers work to be more flexible and powerful hierarchically
- Automatic parent/child relationships generated by dot-separated logger names
- Simplification of LogHandler
- Improved late evaluation of log messages for performance improvements for excluded log records
- Introduced MDC.global to allow globally defined values
- Updated Formatter's
fileName
to exclude the local path - Full support for Scala 2.13, 2.12, and 2.11
- Updated performance benchmarks: https://jmh.morethan.io/?source=https://raw.githubusercontent.com/outr/scribe/master/work/benchmark/2020.10.01.benchmarks.json
2.7.0
- Added LogOutput instead of String as the output type for all logging to provide richer logging
- Added color, background color, bold, italic, underline, and strikethrough support for both ANSI output and JavaScript console output
- Added support to MDC for values to be functions instead of values allowing for more powerful logging functionality
- Created DSL for log output functionality
- Added to formatter DSL to support log output functionality
- Updated ConsoleWriter to integrate better for platform-specific functionality
- Updated ConsoleWriter to write errors to
System.err
automatically - Added MDC.elapsed convenience functionality to show an elapsed value for each logging message
- Added FlushMode support as a better replacement for
autoFlush
in FileWriter - Lots of updates to SLF4J support to provide better integration
- Fixes for native implementation
- Project cleanup for better cross-platform support and better test integration
2.6.0
- Performance tuning (nearly 4x faster than log4j)
- Exposed LogRecord.column to provide access to log, not just line number, but column number as well
- Added zero-arg logging support
- Complete re-write of FileWriter functionality to offer both improved flexibility, but also greater simplicity
- Added Time abstraction both for testability as well as customization for various environments
- Created new DSL for configuring FileWriter
- Support for custom top-level fields in Logstash
- Better support for lazily evaluated message object in LogRecord
- Lots of miscellaneous updates and bug fixes
2.5.0
- Major upgrade to usage of
FileWriter
** Greater flexibility to customize functionality further
** Support for max size in bytes
** Support for max number of log files
** Support basic builder pattern (more flexibility will be added in 2.6) - Added ANSI coloring support
- Created special support
ExecutionContext
and helpers to support asynchronous tracing see - Upgraded MDC functionality to provide thread-safe and multi-threaded support above the crap that Logback and SLF4J does
- Complete re-write of
AsynchronousLogHandler
to be more flexible and avoid excessive congestion - Added time formatting convenience functionaly (@cornerman)
- Updated source maps for Scala.js to point to GitHub repo (@cornerman)
- Added jitpack configuration (@cornerman)
2.4.0
- Re-enabled messages as lazy invoked functions to create zero cost log messages if they are not logged
- Added Logstash support
- Added support for
Logger.id
as a much more powerful internal reference system - Use
Logger.parentId
instead ofLogger.parentName
for better reliability and consistency - Major cleanup of configuration functionality
- SLF4J MDC support and more Scala-esque MDC root
- New module
slf4j18
to support beta version of SLF4J 1.8 - Addition of
LogRecord
to the signature ofWriter
to allow more powerfulWriter
implementations - Added
LogSupport.includes
as a more powerful variation on the standardisLevelEnabled
- Major improvements and cleanup to
FileWriter
- Added
Loggable[M]
to support logging of any custom type with implicit support - Added
fileName
toLogRecord
and exposed support as a format block - Added
timeStamp
format block to write the time in milliseconds the record occurred - Added padding support for all format blocks
- Added powerful and flexible abbreviation support to all format blocks
- Simplification and cleanup of Macros
- Upgraded Slack module to use
youi-client
instead of Gigahorse and upickle
2.3.0
- Resolved bugs with interpolation use within logging
- Minor performance optimizations internally
- Added Logger.id and
replace()
method for much easier logger updating - Added type identifiers to LogModifiers to replace existing when adding to a Logger or LogHandler
- Minor improvements to SLF4J logging
- Added generic messageValue to LogRecord for more powerful interaction
- Updated LogRecord to support a message and throwable to properly support single-record logging of a trace + message
2.2.0
- Added better time formatting API
- Fixed bug in FileIOWriter instantiating FileNIOWriter
- Added map support to FormatBlock
- Removed Java 8 Time dependencies
- Removed third-party dependencies for Scala.js to reduce resulting JavaScript size
- Fixes to overrideClassName to better deal with method name and line number
- Added Level comparison features
2.1.0
- Moved handlers into their own package "handler".
- Updated LogHandler to be a more simplified trait for extensibility.
- Added convenience FunctionalLogHandler for dealing with LogRecords.
- Updated LevelFilter to be high priority to avoid order of insert issues.
Fastest Logger in the World
- Better support for SLF4J logging adapter (filtering and naming)
- Major optimizations and cleanup
- Much better modification support for
Logger
to remain immutable - Asynchronous logging support
- Major improvements to the internal simplicity and light-weight infrastructure
- Benchmarked as fastest logger on the JVM
- Faster interpolation and type-safe formatting
- Formatter interpolation to provide incredibly clean and extensible log formatting
- Lots of other miscellaneous cleanup and optimizations