A PSR-3 Logger class, but in node.js
- Add
node-psr-logto yourpackage.jsonusingyarn add node-psr-logornpm install node-psr-log. - Require the package.
- Initialize the instance.
- Profit.
const {Log, LogLevel} = require('node-psr-log')
const log = new Log(LogLevel.Notice, 'my-awesome-project', '/my/path/or/null/to/ignore/file/logging')
log.setStdOut(true)
// will be ignored because info < notice
log.info('test message')
// will be displayed in stdout / written to file
log.warning('test message')
// arguments are supported
log.debug('some other test', {data: 'cool'})
// also another channel name for this message
log.debug('some other test', {data: 'nasa'}, 'moon')Creates a new log instance
Syntax
// log to stdout only
const log = new Log(LogLevel.Debug)
// or log to stdout + file
const log = new Log(LogLevel.Debug, null, '~/test.log')
// or log to file only
const log = new Log(LogLevel.Debug, null, '~/test.log')
log.setStdOut(false)Parameters
level- Type:
LogLevel- Optional, by default the value is set to
LogLevel.Everything
- Optional, by default the value is set to
- Determines the minimum level at which the instance will start logging.
- Type:
channel- Type:
string,undefinedornull - The log channel name
- Type:
path- Type:
string,undefinedornull - The log output filepath.
- Type:
dateFormat- Type:
string- Optional, by default the value is set to
DD.MM.YYYY HH:mm:ss. See moment.js for more informations about formating.
- Optional, by default the value is set to
- Determines the date-time log format.
- Type:
Sets the default channel, by default the channel is set to "".
Syntax
log.setChannel('my-awesome-project')Parameters
channel- Type:
string - The name of the channel
- Type:
Sets the date-time log format, see moment.js for more informations.
Syntax
log.setDateFormat('MM.DD.YYYY HH:mm:ss')Parameters
dateFormat- Type:
string - The moment.js supported formatted date-time string.
- Type:
Sets the minimum level at which the instance will start logging.
Syntax
log.setLevel(LogLevel.Everything)Parameters
level- Type:
LogLevel - The minimum level to start logging.
- Type:
Enables or disables output to stdout.
Syntax
log.setStdOut(false)Parameters
active- Type:
bool trueto enable it,falseotherwise.
- Type:
Sets the filepath where the log will be written to.
Syntax
log.setPath('~/test.log')Parameters
path- Type:
string - The output path where the log can be written to.
- Type:
Each of the following log methods uses the parameters given above.
debuginfonoticewarningerrorcriticalalertemergency
Syntax
log.debug('this is a debug message inside the regular channel')
// use "git" as channel name
log.notice('this is a notice message from another channel', null, 'git')
// use 'app' as channel name and print some arguments
log.warning('oops, we ran into some problems...', {code: 2, message: 'not implemented'}, 'app')Parameters
msg- Type:
string - The message to log.
- Type:
args- Type:
any- Optional and by default set to
undefined.
- Optional and by default set to
- Can be used to display error values or other stuff.
- Type:
channel- Type:
string- Optional and by default set to
null.
- Optional and by default set to
- Use another channel name instead of the default one for this message.
- Type: