Releases: daboross/fern
Releases · daboross/fern
Release version 0.3.3
- Update for rustc version 9854143cb (1.0.0-beta)
- Derive Clone for all types deriving Copy
- Update docs a bit for that switch to
time
crate - Switch to time crate instead of chrono for tests, as chrono hasn't updated for rustc 1.0.0-beta yet.
- Instead of implementing a pseudo-time crate as a workaround for rust-lang/cargo#1474, just disable the doc test, and copy the code to a separate file in tests/
Release version 0.3.2
- Update to rustc version 2e3b0c051
- Add a workaround for rust-lang/cargo#1474 in doc tests
- Implement From for errors instead of FromError
- Remove now unrequired feature gate
- Implement error::Error for error types
Release version 0.3.1
- Updates to rustc version 27901849e
Release version 0.3.0
- Updates to rustc version 123a754cb
- Updates to log version 0.3.0
- Reworks fern::OutputConfig to be a struct with functions to construct configurations, rather than an enum with variants for each configuration.
- This is a breaking change, as all constructors on fern::OutputConfig have been renamed from UpperCase to lower_case.
- This also now allows fern::OutputConfig to be constructed with anything which implements
AsRef<path::Path>
. - For example,
fern::OutputConfig::file("some-file.log")
works, without having to construct a Path or PathBuf manually.
Release version 0.2.1
- Updates to rustc version 3e4be02b8
- Updates documentation
Release version 0.2.0
This version reworks the public API in order to turn fern into a backend to the log
crate.
API Changes:
- Remove the
local
module, as thelog
crate now handles storing a global logger. - fern::Logger must now be Sync + Send
- BoxedLogger and ArcLogger typedefs are removed, due to writing
+ Sync + Send
no longer being required - Now everything just uses Box
- Level is removed, in favor of using log::LogLevel and log::LogLevelFilter
- LoggerConfig is renamed into DispatchConfig
- Rename
Error
toLogError
- Implement
fmt::Display
forLogError
- Implement
- A new
Formatter
type is added for formatting closures. It also now takes a &log::LogLocation parameters as well. - OutputConfig::Parent is renamed into OutputConfig::Child, this seems to make more sense, given that you can have any number of children
- Logger::log() now takes (&str, &log::LogLevel, &log::LogLocation) instead of (&fern::Level, &str)
- Add an
IntoLog
trait which DispatchConfig and OutputConfig implement (instead of havinginto_logger()
on each of them. - Add an
into_log()
method to the IntoLog trait that turns a log configuration into alog::Log
(as apposed tofern::Logger
) - Rename
IntoLog.into_logger()
toIntoLog.into_fern_logger()
in order to differentiate from theinto_log()
method. - Add a
fern::init_global_logger()
method which sets the globallog
crate logger from a log configuration - Add an
InitError
error which is used byinit_global_logger()
for either an IO error orlog::SetLoggerError
- Update everything to use the new io and path modules
- Add a
FileOptions
option toOutputConfig
which allows for specifying anOpenOptions
for opening the log file with
Also:
- The docs have been rewritten to be up to date with all the above changes
- The code snippets in the docs are now all tested! This is instead of having
no_test
and not having fully workable code examples. - There is a new
tests/lib.rs
file which contains tests for initializing fern and log filtering with different log levels.
Release version 0.1.12
- Fixes compile warnings and errors for rustc version 522d09dfe
- Adds static life bound
- Switches to using old_path feature instead of path feature
Release version 0.1.11
- Fixes small documentation error
- Fixes compile errors in rustc version 3ef8ff1f8
Release version 0.1.9
- Updates to rustc version eaf4c5c78
- Changes all usages of std::io to std::old_io
Release version 0.1.10
- Finishes updating to rustc version eaf4c5c78
- Last version compiled, but had many warnings
- Move all #[experimental] features to #[unstable]
- Add #![feature(io, core)]
- Remove unrequired .iter() call