compass.utilities.logs.LocalProcessQueueHandler#
- class LocalProcessQueueHandler(queue)[source]#
Bases:
QueueHandler
QueueHandler that works within a single process (locally)
Initialise an instance, using the passed queue.
Methods
acquire
()Acquire the I/O thread lock.
addFilter
(filter)Add the specified filter to this handler.
close
()Tidy up any resources used by the handler.
Acquire a thread lock for serializing access to the underlying I/O.
emit
(record)Emit record with a location attribute
enqueue
(record)Enqueue a record.
filter
(record)Determine if a record is loggable by consulting all the filters.
flush
()Ensure all logging output has been flushed.
format
(record)Format the specified record.
get_name
()handle
(record)Conditionally emit the specified logging record.
handleError
(record)Handle errors which occur during an emit() call.
prepare
(record)Prepare a record for queuing.
release
()Release the I/O thread lock.
removeFilter
(filter)Remove the specified filter from this handler.
setFormatter
(fmt)Set the formatter for this handler.
setLevel
(level)Set the logging level of this handler.
set_name
(name)Attributes
name
- emit(record)[source]#
Emit record with a location attribute
- Parameters:
record (
logging.LogRecord
) – Log record containing the log message + default attributes.
- acquire()#
Acquire the I/O thread lock.
- addFilter(filter)#
Add the specified filter to this handler.
- close()#
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.
- createLock()#
Acquire a thread lock for serializing access to the underlying I/O.
- enqueue(record)#
Enqueue a record.
The base implementation uses put_nowait. You may want to override this method if you want to use blocking, timeouts or custom queue implementations.
- filter(record)#
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.
Changed in version 3.2: Allow filters to be just callables.
Changed in version 3.12: Allow filters to return a LogRecord instead of modifying it in place.
- flush()#
Ensure all logging output has been flushed.
This version does nothing and is intended to be implemented by subclasses.
- format(record)#
Format the specified record.
If a formatter is set, use it. Otherwise, use the default formatter for the module.
- handle(record)#
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.
- handleError(record)#
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.
- prepare(record)#
Prepare a record for queuing. The object returned by this method is enqueued.
The base implementation formats the record to merge the message and arguments, and removes unpickleable items from the record in-place. Specifically, it overwrites the record’s msg and message attributes with the merged message (obtained by calling the handler’s format method), and sets the args, exc_info and exc_text attributes to None.
You might want to override this method if you want to convert the record to a dict or JSON string, or send a modified copy of the record while leaving the original intact.
- release()#
Release the I/O thread lock.
- removeFilter(filter)#
Remove the specified filter from this handler.
- setFormatter(fmt)#
Set the formatter for this handler.
- setLevel(level)#
Set the logging level of this handler. level must be an int or a str.