Logging module and functions
Requires neotermcolor
neotermcolor styles:
- logger:10 - debug log message
- logger:20 - info log message
- logger:30 - warning log message
- logger:40 - error log message
- logger:50 - critical log message
- logger:exception - exceptions, printed to stdout (w/o logging)
Keeping records in memory requires neotasker library
-
class
pyaltt2.logs.
JSysLogHandler
(*args, as_json=False, **kwargs) -
emit
(record) Emit a record.
The record is formatted, and then sent to the syslog server. If exception information is present, it is NOT sent to the server.
-
-
class
pyaltt2.logs.
JWatchedFileHandler
(*args, as_json=False, **kwargs) -
emit
(record) Emit a record.
If underlying file has changed, reopen the file before emitting the record to it.
-
-
pyaltt2.logs.
append
(record=None, rd=None, **kwargs) Append log record to memory cache
Parameters: - record – log record, or
- rd – log record in dict format
- **kwargs – passed to handle_append as-is
-
pyaltt2.logs.
clean
(**kwargs) Clean obsolete log records from memory
Usually executed from log cleaner worker (see “start”)
-
pyaltt2.logs.
get
(level=0, t=0, n=None, pattern=None) Get recent log records
Parameters: - level – minimal log level
- t – get entries for the recent t seconds
- n – max number of log records (default: 100)
-
pyaltt2.logs.
handle_append
(rd, **kwargs) Called after record is appended
Parameters: - rd – log record in dict format
- **kwargs – got from append as-is
-
pyaltt2.logs.
init
(**kwargs) Initialize logger
Parameters: - name – software product name
- host – custom host name
- log_file – file to log to
- log_stdout – 0 - do not log, 1 - log, 2 - log auto (if no more log hdlrs)
- syslog – True for /dev/log, socket path or host[:port]
- level – log level (default: 20)
- tracebacks – log tracebacks (default: False)
- ignore – use “ignore” symbol - memory hdlr ignores records starting with
- ignore_mods – list of modules to ignore
- omit_ignore_for_level – omit ignore props for >= level
- stdout_ignore – use “ignore” symbol in stdout logger as well
- keep_logmem – keep log records in memory for the specified time (seconds)
- keep_exceptions – keep number of recent exceptions
- colorize – colorize stdout if possible
- formatter – log formatter
- syslog_formatter – if defined, use custom formatter for syslog
- log_json – true/false
- syslog_json – true/false
-
pyaltt2.logs.
log_traceback
(display=False, use_ignore=False, force=False, e=None, critical=False) Log exception traceback
Parameters: - display – display traceback instead of logging
- use_ignore – use ignore symbol for traceback string
- force – force log, even if tracebacks are disabled
- e – exception or exc_info to log (optional)
-
pyaltt2.logs.
serialize
() Get dict with internal data
-
pyaltt2.logs.
set_debug
(debug=False) Set debug mode ON/OFF
Parameters: debug – True = ON, False = OFF
-
pyaltt2.logs.
start
(loop=None) Start log cleaner
Requires neotasker module, task supervisor must be started before
Parameters: loop – neotasker async loop to execute cleaner worker in
-
pyaltt2.logs.
stop
() Optional method to stop log cleaner