fail2ban.helpers module

class fail2ban.helpers.FormatterWithTraceBack(fmt, *args, **kwargs)

Bases: logging.Formatter

Custom formatter which expands %(tb) and %(tbc) with tracebacks

TODO: might need locking in case of compressed tracebacks

Methods

converter(...) Convert seconds since the Epoch to a time tuple expressing local time.
format(record)
formatException(ei) Format and return the specified exception information as a string.
formatTime(record[, datefmt]) Return the creation time of the specified LogRecord as formatted text.
usesTime() Check if the format uses the creation time of the record.
converter([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, tm_sec,tm_wday,tm_yday,tm_isdst)

Convert seconds since the Epoch to a time tuple expressing local time. When ‘seconds’ is not passed in, convert the current time instead.

format(record)
formatException(ei)

Format and return the specified exception information as a string.

This default implementation just uses traceback.print_exception()

formatTime(record, datefmt=None)

Return the creation time of the specified LogRecord as formatted text.

This method should be called from format() by a formatter which wants to make use of a formatted time. This method can be overridden in formatters to provide for any specific requirement, but the basic behaviour is as follows: if datefmt (a string) is specified, it is used with time.strftime() to format the creation time of the record. Otherwise, the ISO8601 format is used. The resulting string is returned. This function uses a user-configurable function to convert the creation time to a tuple. By default, time.localtime() is used; to change this for a particular formatter instance, set the ‘converter’ attribute to a function with the same signature as time.localtime() or time.gmtime(). To change it for all formatters, for example if you want all logging times to be shown in GMT, set the ‘converter’ attribute in the Formatter class.

usesTime()

Check if the format uses the creation time of the record.

class fail2ban.helpers.TraceBack(compress=False)

Bases: object

Customized traceback to be included in debug messages

Methods

__call__()
fail2ban.helpers.excepthook(exctype, value, traceback)

Except hook used to log unhandled exceptions to Fail2Ban log

fail2ban.helpers.formatExceptionInfo()

Consistently format exception information

fail2ban.helpers.getLogger(name)

Get logging.Logger instance with Fail2Ban logger name convention

fail2ban.helpers.mbasename(s)

Custom function to include directory name if filename is too common

Also strip .py at the end