RingBufferHandler#

tradeexecutor.utils.ring_buffer_logging_handler.RingBufferHandler Python class in Trading Strategy framework.

class RingBufferHandler[source]#

Bases: Handler

Keep N log entries in the memory.

__init__(level=0, buffer_size=2000)[source]#

By default, store 2000 log messates.

Parameters:

buffer_size (int) –

Methods

__init__([level, buffer_size])

By default, store 2000 log messates.

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.

createLock()

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

emit(record)

Do whatever it takes to actually log the specified logging record.

export()

Export all log entries in a format suitable for JSON serialisation.

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.

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

__init__(level=0, buffer_size=2000)[source]#

By default, store 2000 log messates.

Parameters:

buffer_size (int) –

emit(record)[source]#

Do whatever it takes to actually log the specified logging record.

This version is intended to be implemented by subclasses and so raises a NotImplementedError.

Parameters:

record (LogRecord) –

export()[source]#

Export all log entries in a format suitable for JSON serialisation.

Returns:

Log records sorted by timestamp, for oldest to newest

Return type:

List[ExportedRecord]