All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- expose macro do_log_filter!
- Upgrade crossfire to 3.0
- Should reset the max log level filter when re-init with the same config
- Upgrade crossfire to 2.1
-
Add KeyLogger as KeyFilter, and allow KeyFilter to wrap &LogFilter and Arc.
-
revert 0.14.1, no Send and 'static restriction to Filter
- filter: Fix Filter trait missing marker
-
Add trait filter::Filter
-
Add filter::DummyFilter
- LogFilterKV renamed to KeyFilter
-
tracing_bridge: Expose TracingFormatter trait and TracingText
-
tracing_bridge: Re-export tracing::{dispatcher, Dispatch}, and tracing_subscriber::{registry, prelude::*}
- GlobalLogger::tracing_layer() and tracing_dispatch() will need generic parameter TracingFormatter.
- Refactor namespace, move stuff to module: env, syslog, tracing_bridge, ringfile, ...
-
Expose GlobalLogger, add get_global_logger().
-
Add tracing support, 3 modes: global / layer / scope
- Do not panic when reconfig with dynamic=false, return error instead.
- RingFile: Refactor, because in previous impl different thread might produce different amount of data, leaving some holes in the final dump.
- RingFile: Try fix the unsoundness on open()
- RingFile: Fix block when using stdout
- RingFile: clear content on open()
- RingFile: call exit after dump()
- Support thread_id in LogFormat
- RingFile: A refactor, to store the buffer in thread local, remove lock contention to avoid affecting the thread scheduling. Supports output to stdout. NOTE that the buf_size parameter has changed to size of per-thread.
- LogRawFile and LogBufFile now handle short writes.
- RingFile: Trigger dump from panic hook to support debugging assertion.
- Fix mirror warning about setup_log()
- Fix the doc of ringfile feature.
-
Add LogSinkTrait::open(), to be distinguish with reopen().
-
Add RingFile sink as a debugging tool for deadlock
-
Re-export signal_consts for convenience
- Remove Builder::add_XXX functions, replace them with add_sink()
- Implement syslog feature, supports local and remote server, with timeout and auto reconnect.
- Removed all
continue_when_panicdetermination in recipe function
- LogBufFile: flush should wait for backend
-
Fix config hash for LogBufFile sink
-
Make flush time configurable for LogBufFile
- Add Rotation::by_age_and_size()
- Add Buffered file sink with optional rotation (depends on file-rotate crate)
- Add macro log_eprintln!()
- refining API and usage document.
- Support configure from environment with env_or(), and recipe::env_logger().
-
Change recipe raw_file_logger() & raw_file_custom_logger(), user need to specified the full path.
-
Change the definition of LogRawFile to support path/str/String/env_or().
- Update macro attribute logfn to support async fn, adding time duration in logs
- Refine document, regarding rstest usage.
- Update macro attribute logfn to log function argument and return values.
- Add Builder::test() for test cases.
-
API refactor: Rename file()->raw_file(), LogFile -> LogRawFile.
-
Do not reload when log config is not changed in test cases, will not panic even without dynamic=true.
- Add a simple LogParser with regex
-
Add LogFilterKV which inherit LogFilter
-
Add console output support
-
Various recipes