@olemop/logger

@olemop/logger is a [log4js](https://github.com/nomiddlename/log4js-node) wrapper for olemop which provides some useful features.

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
@olemop/logger
Minified + gzip package size for @olemop/logger in KB

Readme

@olemop/logger

@olemop/logger is a log4js wrapper for olemop which provides some useful features.

Installation

npm install @olemop/logger

Features

Log prefix

besides category, you can output prefix as you like in your log. prefix can be filename, serverId, serverType, host etc. To use this feature, you just pass prefix params to getLogger function.

const logger = require('@olemop/logger').getLogger(category, prefix1, prefix2, ...)

log output msg will output with prefix ahead

Get line number in debug

when in debug environment, you may want to get the line number of the log. To use this feature, add this code.

process.env.LOGGER_LINE = true

In olemop, you just configure the log4js file and set lineDebug for true

{
  "appenders": [
  ],

  "levels": {
  }, 

  "replaceConsole": true,

  "lineDebug": true
}

Log raw messages

in raw message mode, your log message will be simply your messages, no prefix and color format strings. To use this feature, add this code:

process.env.RAW_MESSAGE = true

In olemop, you just configure the log4js file and set rawMessage for true

{
  "appenders": [
  ],

  "levels": {
  }, 

  "replaceConsole": true,

  "rawMessage": true
}

Dynamic configure logger level

In olemop logger configuration file log4js.json, you can add reloadSecs option. The reloadSecs means reload logger configuration file every given time. For example:

{
    "reloadSecs": 30
}

the above configuration means reload the configuration file every 30 seconds. You can dynamic change the logger level, but it does not support dynamiclly changing configuration of appenders.

Example

const logger = require('@olemop/logger').getLogger('log', __filename, process.pid)

process.env.LOGGER_LINE = true

logger.info('test1')
logger.warn('test2')
logger.error('test3')

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.