ncs.log Module

This module provides some logging utilities.

Functions

init_logging

init_logging(vmid, log_file, log_level)

Initialize logging

log_datefmt

log_datefmt()

Return date format used in logging.

log_file

log_file()

Return log file used, if any else None

log_format

log_format()

Return log format.

log_handler

Return log handler used, if any else None

mk_log_formatter

Create log formatter with log and date format setup

reopen_logs

Re-open log files if log handler is set

set_log_level

Set log level on the vmid logger and root logger

Classes

class Log

A log helper class.

This class makes it easier to write log entries. It encapsulates another log object that supports Python standard log interface, and makes it easier to format the log message be adding the ability to support multiple arguments.

Example use:

Initialize a Log object.

The argument 'logobject' is mandatory and can be any object which should support as least one of the standard log methods (info, warning, error, critical, debug). If 'add_timestamp' is set to True a time stamp will precede your log message.

Members:

chevron-rightcritical(...)hashtag

Method:

Log a critical message.

chevron-rightdebug(...)hashtag

Method:

Log a debug message.

chevron-righterror(...)hashtag

Method:

Log an error message.

chevron-rightexception(...)hashtag

Method:

Log an exception message.

chevron-rightfatal(...)hashtag

Method:

Just calls critical().

chevron-rightinfo(...)hashtag

Method:

Log an information message.

chevron-rightwarning(...)hashtag

Method:

Log a warning message.

class ParentProcessLogHandler

Members:

chevron-rightacquire(...)hashtag

Method:

Acquire the I/O thread lock.

chevron-rightaddFilter(...)hashtag

Method:

Add the specified filter to this handler.

chevron-rightclose(...)hashtag

Method:

Tidy up any resources used by the handler.

This version removes the handler from an internal map of handlers, _handlers, which is used for handler lookup by name. Subclasses should ensure that this gets called from overridden close() methods.

chevron-rightcreateLock(...)hashtag

Method:

Acquire a thread lock for serializing access to the underlying I/O.

chevron-rightemit(...)hashtag

Method:

Emit log record by sending a pre-formatted record to the parent process

chevron-rightfilter(...)hashtag

Method:

Determine if a record is loggable by consulting all the filters.

The default is to allow the record to be logged; any filter can veto this by returning a false value. If a filter attached to a handler returns a log record instance, then that instance is used in place of the original log record in any further processing of the event by that handler. If a filter returns any other true value, the original log record is used in any further processing of the event by that handler.

If none of the filters return false values, this method returns a log record. If any of the filters return a false value, this method returns a false value.

.. versionchanged:: 3.2

Allow filters to be just callables.

.. versionchanged:: 3.12 Allow filters to return a LogRecord instead of modifying it in place.

chevron-rightflush(...)hashtag

Method:

Flushes the stream.

chevron-rightformat(...)hashtag

Method:

Format the specified record.

If a formatter is set, use it. Otherwise, use the default formatter for the module.

chevron-rightget_name(...)hashtag

Method:

chevron-righthandle(...)hashtag

Method:

Conditionally emit the specified logging record.

Emission depends on filters which may have been added to the handler. Wrap the actual emission of the record with acquisition/release of the I/O thread lock.

Returns an instance of the log record that was emitted if it passed all filters, otherwise a false value is returned.

chevron-righthandleError(...)hashtag

Method:

Handle errors which occur during an emit() call.

This method should be called from handlers when an exception is encountered during an emit() call. If raiseExceptions is false, exceptions get silently ignored. This is what is mostly wanted for a logging system - most users will not care about errors in the logging system, they are more interested in application errors. You could, however, replace this with a custom handler if you wish. The record which was being processed is passed in to this method.

chevron-rightnamehashtag

chevron-rightrelease(...)hashtag

Method:

Release the I/O thread lock.

chevron-rightremoveFilter(...)hashtag

Method:

Remove the specified filter from this handler.

chevron-rightsetFormatter(...)hashtag

Method:

Set the formatter for this handler.

chevron-rightsetLevel(...)hashtag

Method:

Set the logging level of this handler. level must be an int or a str.

chevron-rightsetStream(...)hashtag

Method:

Sets the StreamHandler's stream to the specified value, if it is different.

Returns the old stream, if the stream was changed, or None if it wasn't.

chevron-rightset_name(...)hashtag

Method:

chevron-rightterminatorhashtag

Last updated

Was this helpful?