log() and the convenience methods (debug, info, warning, error,
critical, exception) return the formatted string instead of None.
Records lack extra, lazy formatting, and calling-module introspection.
exc_info and stack_info are supported as keyword-only arguments to
log() and the convenience methods.
Handlers expect handle(logger, level, message) rather than emit(LogRecord)
and run on dedicated worker threads. Existing stdlib logging.Handler
subclasses can be reused via
StdlibHandlerAdapter,
which adapts emit(LogRecord)-based handlers to the runtime's handle API.
The dictConfig schema lacks incremental updates, handler filters,
handler levels, and formatter attachment. fileConfig is likewise cut down.
Queue capacity is capped (1 024 per logger/handler). The stdlib blocks the
emitting thread; femtologging drops records and emits warnings instead.
Formatting styles (%, {}, $) are not implemented. Provide the final
string, or supply a callable formatter per handler.
The logging manager is separate from logging’s global state. Mixing both
systems in the same process is unsupported.