@arcjet/logger
v1.4.0
Published
Arcjet lightweight logger which mirrors the Pino structured logger interface
Readme
@arcjet/logger
Arcjet lightweight logger which mirrors the Pino structured logger interface.
What is this?
This is an internal utility to help us log things. It provides a small interface, a bit like Pino, so that users with custom needs can swap it for their own logger.
When should I use this?
You should probably not use this but use one of the alternatives instead. This package matches our current needs which are likely different from yours.
Install
This package is ESM only. Install with npm in Node.js:
npm install @arcjet/loggerUse
import { Logger } from "@arcjet/logger";
const logger = new Logger({ level: "debug" });
logger.debug("only printed in debug mode");
// Logs ✦Aj DEBUG only printed in debug mode
logger.error("%d + %d = %d", 1, 2, 3);
// Logs ✦Aj ERROR 1 + 2 = 3API
This package exports the identifier
Logger.
There is no default export.
This package exports the TypeScript types
LogLevel and
Options.
LogLevel
This type represents the supported log levels. The order from most verbose
to least verbose is debug, info, warn, to error. For example, when
you set the level to info, then warn and error messages are also
logged.
Type
type LogLevel = "debug" | "error" | "info" | "warn";Options
You can pass these options when creating a new logger.
Fields
level(LogLevel) — the log level to use
new Logger(options)
Creates a new logger instance.
Parameters
options(Options) — configuration for the logger
Returns
A Logger instance.
Logger#[debug | error | info | warn]([mergingObject, ][message, ]…interpolationValues)
Depending on the configured log level, these methods either do nothing or
print a log message. The message template and interpolation values are passed
through sprintf.
Parameters
mergingObject(Record<string, unknown>, optional) — an object to merge into the log outputmessage(string) — the message templateinterpolationValues(Array<unknown>) — values to interpolate into the template
Returns
Nothing (undefined).
