captains-log
A light-weight customizable logger implementation for rust
Features
-
Allow customize log format and time format.
-
Supports signal listening for log-rotate.
-
Supports multiple log files, each with its own log level.
-
Supports hook on panic.
-
On default supports multi-process/thread/coroutine log into the same file. Atomic line appending can be done on Linux
-
Provides
LogFilterfor coroutine-based programs. You can set req_id in LogFilter and output to log files -
For test suits usage:
Allow dynamic reconfigure logger setting in different test function. (NOTE: currently signal_listener does not support reconfigure).
Provides an attribute macro #[logfn] to wrap test function. Logging test-start and test-end.
Dependency
[]
= { = "0.4", = ["std", "kv_unstable"] }
= "0.1"
Fast setup eample:
/// #[macro_use]
/// extern crate captains_log;
/// #[macro_use]
/// extern crate log;
use ;
use *;
use split_error_file_logger;
let log_builder = split_error_file_logger;
setup_log;
// non-error msg will only appear in /tmp/test.log
debug!;
info!;
// will appear in both /tmp/test.log and /tmp/test.log.wf
error!;