New
0.5.0
- Remove the possibility to modify the severity
noof levels once they have been added in order to prevent surprising behavior (#209). - Add better support for "structured logging" by automatically adding
**kwargsto theextradict besides using these arguments to format the message. This behavior can be disabled by setting the new.opt(capture=False)parameter (#2). - Add a new
onerroroptional argument tologger.catch(), it should be a function which will be called when an exception occurs in order to customize error handling (#224). - Add a new
excludeoptional argument tologger.catch(), is should be a type of exception to be purposefully ignored and propagated to the caller without being logged (#248). - Modify
complete()to make it callable from non-asynchronous functions, it can thus be used ifenqueue=Trueto make sure all messages have been processed (#231). - Fix possible deadlocks on Linux when
multiprocessing.Process()collides withenqueue=Trueorthreading(#231). - Fix
compressionfunction not executable concurrently due to file renaming (to resolve conflicts) being performed after and not before it (#243). - Fix the filter function listing files for
retentionbeing too restrictive, it now matches files based on the pattern"basename(.*).ext(.*)"(#229). - Fix the impossibility to
remove()a handler if an exception is raised while the sink'stop()function is called (#237). - Fix file sink left in an unstable state if an exception occurred during
retentionorcompressionprocess (#238). - Fix situation where changes made to
record["message"]were unexpectedly ignored whenopt(colors=True), causing "out-of-date"messageto be logged due to implementation details (#221). - Fix possible exception if a stream having an
isatty()method returningTruebut not being compatible withcoloramais used on Windows (#249). - Fix exceptions occurring in coroutine sinks never retrieved and hence causing warnings (#227).