- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 70
 
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