node-psr-log
v1.1.6
Published
A PSR-3 Logger class, but in node.js
Downloads
3
Readme
node-psr-log
A PSR-3 Logger class, but in node.js
Installation
- Add
node-psr-log
to yourpackage.json
usingyarn add node-psr-log
ornpm install node-psr-log
. - Require the package.
- Initialize the instance.
- Profit.
Usage
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')
new Log(level, [channel, path, dateFormat])
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
,undefined
ornull
- The log channel name
- Type:
path
- Type:
string
,undefined
ornull
- 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:
setChannel(channel)
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:
setDateFormat(dateFormat)
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:
setLevel(level)
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:
setStdOut(active)
Enables or disables output to stdout.
Syntax
log.setStdOut(false)
Parameters
active
- Type:
bool
true
to enable it,false
otherwise.
- Type:
setPath(path)
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:
method(msg[, args, channel])
Each of the following log methods uses the parameters given above.
debug
info
notice
warning
error
critical
alert
emergency
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: