- allow use 'Z' instead of '+00:00' for utc formatting
- Use chrono for correct and faster local time format
- Allow custom formatting in TimePlugin
- Allow switching between UTC and Local Time in TimePlugin
- Allow set level limit for SourcePlugin
- Use time crate to do more flexible formatting
- Save the source info when the user calls the macros
- Remove anyhow
- Remove the unnecessary
allocfield
- Add Send and Sync requirements for Plugin and Target
- Relax the requirements for Plugin and Target
- Add separate any trait for Plugin and Target
- The parking_lot dependency
- Do not pub Any to avoid conflict
- Retrieve logger's plugins and targets
- Automatically create the directory in FileTarget
- Print an error message if writing to the file fails
- do not lock versions
- a nop constructor for Logger
- a DiscardTarget for ignoring output
- features for macros to disable some levels in compile time
newin Logger requires a default target
from_envin Loggerfrom_defin Logger
- benchmark
- const constructor for Logger
- unmount a plugin using a callback
- unroute a target using a callback
- macros support trailing commas
- change default output target to stderr
recordmacro accept custom logger
- JSON encoding output
- flexible plugin system
- multiple output targets
- extremely fast encoding speed
- predefined default logger
- customizable logger object
- logging with an optional stack trace
- the output order of the fields is fixed
- the plugin can cancel the output of a log entry midway
- predefined fields do not need invoked every time
- async write support and thread local
- log rotate by filesize, lineno, daily, hourly...
- color support in console output
- highlight keywords in console output
- sampling by level