Skip to main content

MemoryLogger

@webda/workout


Class: MemoryLogger

Defined in: packages/workout/src/loggers/memory.ts:17

Logger that stores messages in memory for later retrieval Useful for testing, debugging, or implementing in-memory log buffers Automatically maintains a circular buffer by removing oldest messages when limit is reached

Example​

const output = new WorkerOutput();
const logger = new MemoryLogger(output, "DEBUG", 1000, true);
output.log("INFO", "Test message");
console.log(logger.getLogs()); // Retrieve all logs

Extends​

  • WorkerLogger

Constructors​

Constructor​

new MemoryLogger(output, level?, limit?, includeAll?): MemoryLogger

Defined in: packages/workout/src/loggers/memory.ts:38

Create a new memory logger

Parameters​

output​

WorkerOutput

WorkerOutput instance to listen to

level?​

WorkerLogLevel = "DEBUG"

Log level to filter messages (default: "DEBUG")

limit?​

number = 2000

Maximum number of messages to keep (default: 2000)

includeAll?​

boolean = false

Whether to store all message types or only logs (default: false)

Returns​

MemoryLogger

Overrides​

WorkerLogger.constructor

Properties​

includeAll​

protected includeAll: boolean

Defined in: packages/workout/src/loggers/memory.ts:25

Whether to store all message types (true) or only log messages (false)


limit​

protected limit: number

Defined in: packages/workout/src/loggers/memory.ts:29

Maximum number of messages to keep in memory


messages​

protected messages: WorkerMessage[] = []

Defined in: packages/workout/src/loggers/memory.ts:21

Messages received and stored in memory

Methods​

clear()​

clear(): void

Defined in: packages/workout/src/loggers/memory.ts:92

Clear all messages

Returns​

void


getLogs()​

getLogs(): WorkerMessage[]

Defined in: packages/workout/src/loggers/memory.ts:81

Get only log messages, filtering out other message types

Returns​

WorkerMessage[]

Array of log messages only


getMessages()​

getMessages(): WorkerMessage[]

Defined in: packages/workout/src/loggers/memory.ts:73

Get all messages stored in memory

Returns​

WorkerMessage[]

Array of all recorded messages


onMessage()​

onMessage(msg): void

Defined in: packages/workout/src/loggers/memory.ts:48

Process and store a message if it passes filtering criteria

Parameters​

msg​

WorkerMessage

The message to process

Returns​

void

Overrides​

WorkerLogger.onMessage


setLogLevel()​

setLogLevel(level): void

Defined in: packages/workout/src/loggers/memory.ts:65

Update the log level for filtering future messages

Parameters​

level​

WorkerLogLevel | (() => WorkerLogLevel)

New log level as string or function

Returns​

void