Release History
0.2.0 - February 10, 2024
Removals and Deprecations
Python 3.6 support removed
Python 3.7 support is deprecated and will be removed in a future release
Features and Additions
Added support and feature compatiblity for Python 3.12
Added
burin.config.logAsyncioTasks
option and taskName property toBurinLogRecord
(taskName is always None on Python 3.7 as task names weren’t added to asyncio until 3.8)Added
burin.get_handler_by_name
functionAdded
burin.get_handler_names
functionsAdded
BurinLogger.get_children
methodAdded
BurinFilter
andBurinFilterer
classes so that filterer checks can return aBurinLogRecord
instanceAdded checking of flushOnClose for handlers during shutdown
Added support and feature compatiblity for Python 3.11
Added
burin.get_level_names_mapping
functionAdded
BurinSyslogHandler.create_socket
methodImproved
BurinTimedRotatingFileHandler.should_rollover
so if target is not a normal file the check doesn’t run repeatedly and will get rescheduledImproved efficiency of finding first non-internal frame during logging event, especially if current frame is unavailable
Added access denied exception handling on initialization of
BurinNTEventLogHandler
Added optional level parameter to all burin handlers so a separate
BurinHandler.set_level
call isn’t needed after creating a handlerEnabled a single dictionary argument to be used with ‘{’ and ‘$’ style log records, just as they could be used for ‘%’ style records
Added filedelay parameter to
burin.basic_config
If running on Python 3.11 or greater then ‘$’ style formatters will use
string.Template.is_valid()
for more efficient validation checkingAdded
BurinPercentLogRecord
to process records with ‘%’ style formatting
BurinLogRecord
is now a base class that doesn’t do any formatting itself
Fixes
Fixed potential referencing issues by moving attributes
logMultiprocessing
,logProcesses
,logThreads
, andraiseExceptions
to newburin.config
objectFixed issue where ‘$’ style formatters would return None after formatting
Fixed extra arguments not getting passed through from
burin.exception
andBurinLogger.exception
Fixed
NOTSET
log level missing from main burin moduleFixed
burin.get_level_name
return value for unknown level namesFixed
BurinBufferingFormatter
not assigning default formatter properlyFixed issue where
BurinLogRecord.msecs
could round to 1000 (based on Python 3.11 fix)Fixed $ style formatter to use correct time search pattern (based on Python 3.11 fix)
Internal
Created internal package _log_records
Renamed internal package _logging to _loggers
BurinHandler
no longer inherits fromlogging.Handler
, aside from Burin specific changes though functionality should remain identicalIn fallback
current_frame
function the exception object itself is used instead of going throughsys
More methods or other functions from the standard
logging
library have been re-created or overridden in Burin classes
Dependencies
Replaced Flake8 with Ruff as dev dependency for linting
Updated Sphinx doc dependency to 7.2.6
Updated sphinx-rtd-theme doc dependency to 2.0.0
Added Pytest and Coverage dependencies for testing
Removed Flit dependency for building
Build and Environment
Pipenv is no longer used in the project, so all related files (Pipfile, Pipfile.lock) have been removed
Hatch is now used for both environment management, task running, and building
0.1.0 - June 2, 2022
First formal release.