- Always flush or close handlers before shutting down the process; otherwise buffered records may be lost.
- Monitor
logger.get_dropped()and the warnings emitted by each handler to detect back pressure early. Increase handler capacities or switch to blocking/timeout policies when drops are unacceptable. - File-based handlers count
flush_intervalin records. If you need time-based flushing, add a periodichandler.flush()in your application. - Blocking overflow policies affect the thread that calls
logger.log(). Use them only when you are comfortable with logging back pressure slowing the producer because that is what will happen. - Socket handlers serialize to MessagePack with a one-megabyte default frame limit. Large payloads are silently dropped; consider truncating or chunking messages before logging.
reset_manager()is a destructive operation intended for tests. Do not call it while other threads might still hold references to existing loggers.
Keep an eye on the roadmap in docs/ for upcoming additions (formatter
resolution, richer dictConfig support, timed rotation) and update your
configuration once those features land. For now, the patterns above reflect the
current, tested surface area of femtologging.