Skip to content

A library that mimics the standard logging.handlers.SMTPHandler class but sends email messages only when a preconfigured buffer is full or on exit.

License

Notifications You must be signed in to change notification settings

pierky/bufferedsmtphandler

Repository files navigation

Buffered SMTP Logging Handler

PYPIVersion PythonVersions BuildStatus Coveralls

A library that mimics the standard logging.handlers.SMTPHandler class but sends email messages only when a preconfigured buffer is full or on exit.

Installation and dependencies

Install the program using pip:

pip install buffered_smtp_handler

How to use it

This library offers two classes: BufferedSMTPHandler and BufferedSMTPHandlerSSL.

They accept the same arguments of the standard SMTPHandler class, and also the capacity argument to set the capacity of the buffer (default: 100).

The SSL version is based on the smtplib.SMTP_SSL and avoids to perform StartSSL.

Via code:

>>> import logging
>>> from pierky.buffered_smtp_handler import BufferedSMTPHandler
>>> logger = logging.getLogger("my_app")
>>> logger.setLevel(logging.INFO)
>>> h = BufferedSMTPHandler("smtp.example.com", "from@example.com", ["to@example.com"], "MyApp log", capacity=10)
>>> logger.addHandler(h)
>>> logger.warning("Test")

Via a logging configuration file:

[loggers]
keys=root

[formatters]
keys=simple

[handlers]
keys=stderr,smtp

[logger_root]
level=INFO

handlers=stderr,smtp

[formatter_simple]
format=ARouteServer %(asctime)s %(levelname)s %(message)s

[handler_stderr]
class=StreamHandler
formatter=simple
args=(sys.stderr,)

[handler_smtp]
class=pierky.buffered_smtp_handler.BufferedSMTPHandler
level=WARN
formatter=simple
args=(('smtp.example.com', 25), 'from@example.com', ['to@example.com'], 'MyApp log')

Author

Pier Carlo Chiodi - https://pierky.com/

Blog: https://blog.pierky.com/ Twitter: @pierky

About

A library that mimics the standard logging.handlers.SMTPHandler class but sends email messages only when a preconfigured buffer is full or on exit.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages