-
-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description / Use Case for a Feature
I want to use different log level in console e.g. console.error | warn | info, and your docs gives a example:
const logger = new Logger({
type: "pretty",
overwrite: {
transportFormatted: (logMetaMarkup, logArgs, logErrors) => {
// Send different log levels to appropriate console methods
const logLevel = logMetaMarkup.trim().split("\t")[1]; // Extract log level from the markup
switch (logLevel) {
case "WARN":
console.warn(logMetaMarkup, ...logArgs, ...logErrors);
break;
case "ERROR":
case "FATAL":
console.error(logMetaMarkup, ...logArgs, ...logErrors);
break;
case "INFO":
console.info(logMetaMarkup, ...logArgs, ...logErrors);
break;
case "DEBUG":
case "TRACE":
case "SILLY":
default:
console.log(logMetaMarkup, ...logArgs, ...logErrors);
break;
},
},
});, which use string operation to know which log level it is.
Obviously, a more elegant way is to add a logMeta parameter to the transportFormatted function, so we can write it like this:
const logger = new Logger({
type: "pretty",
overwrite: {
transportFormatted: (logMeta, logMetaMarkup, logArgs, logErrors) => {
const logLevel = logMeta.logLevelName;
switch (logLevel) {
// ...
},
},
});How about it? I'd like to help implement this feature🥰
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request