LogSinkCallback type
Type representing a callback function for consuming log entries, or a "sink".
Sinks are generally used to send logs to an external database or service, but they can also be used to filter logs by "consuming" them.
If your callback returns true
, then the log will be stopped, and no further sinks will be called. The LogEntry will also not be logged to the console.
Signature:
export type LogSinkCallback = (entry: LogEntry) => boolean | void;
References: LogEntry
Remarks
You should not yield in sinks. If you're sending data to an external service, do so via a queue that gets dispatched in a different thread.
Example
const logger = new rLog({
sinks: [
(entry) => {
someExternalDBFunction(entry);
},
(entry) => {
return true;
},
(entry) => {
// never throws because the previous sink returned true
error("Messages should not log to the console");
},
],
});
logger.i("Hello world!");