Skip to main content

FileLogger

@webda/workout


Class: FileLogger

Defined in: packages/workout/src/loggers/file.ts:18

Logger that writes formatted log messages to a file with automatic rotation Supports size-based log rotation and custom format strings

Example​

const output = new WorkerOutput();
new FileLogger(output, "INFO", "/var/log/app.log", 50 * 1024 * 1024);
output.log("INFO", "Application started");

Extends​

  • WorkerLogger

Extended by​

Constructors​

Constructor​

new FileLogger(output, level?, filepath, sizeLimit?, format?): FileLogger

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

Create a new file logger

Parameters​

output​

WorkerOutput

WorkerOutput instance to listen to

level?​

WorkerLogLevel | (() => WorkerLogLevel)

Log level or function returning log level (default: "INFO")

filepath​

string

Path to the log file (required)

sizeLimit?​

number = ...

Maximum file size in bytes before rotation (default: 50MB)

format?​

string = ConsoleLogger.defaultFormat

Log format string (default: ConsoleLogger.defaultFormat)

Returns​

FileLogger

Overrides​

WorkerLogger.constructor

Properties​

filepath​

filepath: string

Defined in: packages/workout/src/loggers/file.ts:24

Path to the log file


format​

format: string

Defined in: packages/workout/src/loggers/file.ts:28

Format string for log messages


outputCount​

outputCount: number = 0

Defined in: packages/workout/src/loggers/file.ts:22

Current size of the log file in bytes


outputStream?​

optional outputStream?: WriteStream

Defined in: packages/workout/src/loggers/file.ts:20

Write stream for the log file


sizeLimit​

sizeLimit: number

Defined in: packages/workout/src/loggers/file.ts:26

Maximum file size before rotation in bytes

Methods​

filter()​

filter(msg): boolean

Defined in: packages/workout/src/loggers/file.ts:84

Determine if a message should be logged based on its type and level

Parameters​

msg​

WorkerMessage

The message to filter

Returns​

boolean

true if the message should be logged, false otherwise


getLine()​

getLine(msg): string

Defined in: packages/workout/src/loggers/file.ts:98

Format a message into a log line with newline

Parameters​

msg​

WorkerMessage

The message to format

Returns​

string

Formatted log line with newline character


onMessage()​

onMessage(msg): void

Defined in: packages/workout/src/loggers/file.ts:58

Process a WorkerMessage and write it to the log file

Parameters​

msg​

WorkerMessage

The message to process

Returns​

void

Overrides​

WorkerLogger.onMessage


rotateLogs()​

rotateLogs(filepath): void

Defined in: packages/workout/src/loggers/file.ts:119

Rotate the log file by renaming it with a numeric suffix Creates a new empty log file at the original path

Parameters​

filepath​

string

Path to the log file to rotate

Returns​

void