Format

July 25, 2024 ยท View on GitHub

Format property can be a string template or a function

Template

Example: '[{h}:{i}:{s}.{ms}] [{level}] {text}'

NameValue
levelLogging level
logIdLogging instance id
textSerialized log message
scopeScope
processTypebrowser or renderer
yYear
mMonth
dDay
hHour
iMinute
sSecond
msMillisecond
zTimezone offset
isodate.toISOString()

Also, you can use your own values:

log.variables.label = 'dev';
log.transports.console.format = '[{h}:{i}:{s}.{ms}] [{label}] {text}';

Function

(params: FormatParams) => any[]

interface FormatParams {
  data: any[];
  level: LogLevel;
  logger: Logger;
  message: LogMessage;
  transport: Transport;
}
import util from 'node:util';

log.transports.console.format = ({ data, level, message }) => {
  const text = util.format(...data);
  
  return [
    message.date.toISOString().slice(11, -1),
    `[${level}]`,
    text
  ];
};