winstonjs/winston

Best way to get highest log level

Open

#837 opened on Mar 24, 2016

View on GitHub
 (6 comments) (0 reactions) (0 assignees)JavaScript (1,789 forks)batch import
Feature RequestGood First IssueHelp Wanted

Repository metrics

Stars
 (21,967 stars)
PR merge metrics
 (Avg merge 68d 4h) (9 merged PRs in 30d)

Description

I have a logger where if one of the transports is at 'debug' or higher, it logs a lot more information than would normally be needed. Some of this data requires other processing before it can be logged. So, before logging, I check the highest log level to see if that extra work really needs to be done.

I've been using the following to find the highest log level on a given logger:

winston.Logger.prototype.getHighestLogLevel = function() {
  var result = 0;

  for(var i in logger.transports) {
    result = Math.max(result, logger.levels[logger.transports[i].level || logger.level]);
  }

  return result;
}

Is there a simplified way to do this? If not, would there be a problem with merging this?

Contributor guide