Logging utility for appium
$ cnpm install appium-logger
Basic logger defaulting to npmlog with special consideration for running
tests (doesn't output logs when run with _TESTING=1 in the env).
There are a number of levels, exposed as methods on the log object, at which logging can be made. The built-in ones correspond to those of npmlog, and are:
silly, verbose, info, http, warn, and error. In addition there is a debug level.
The default threshhold level is verbose.
The logged output, by default, will be level prefix message. So
import { getLogger } from 'appium-logger';
let log = getLogger('mymodule');
log.warn('a warning');`
Will produce
warn mymodule a warning
There are two environment variable flags that affect the way appium-logger works.
_TESTING
_TESTING=1 stops output of logs when set to 1._FORCE_LOGS
1, reverses the _TESTINGlog.level
log[level](message)
levelimport { getLogger } from 'appium-logger';
let log = getLogger('mymodule');
log.info('hi!');
// => info mymodule hi!
log.unwrap()
retrieves the underlying npmlog object, in order to manage how logging is done at a low level (e.g., changing output streams, retrieving an array of messages, adding log levels, etc.).
import { getLogger } from 'appium-logger';
let log = getLogger('mymodule');
log.info('hi!');
let npmlogger = log.unwrap();
// any `npmlog` methods
let logs = npmlogger.record;
// logs === [ { id: 0, level: 'info', prefix: 'mymodule', message: 'hi!', messageRaw: [ 'hi!' ] }]
log.errorAndThrow(error)
logs the error passed in, at error level, and then throws the error. If the error passed in is not an instance of Error (either directly, or a subclass of Error) it will be wrapped in a generic Error object.
import { getLogger } from 'appium-logger';
let log = getLogger('mymodule');
// previously there would be two lines
log.error('This is an error');
throw new Error('This is an error');
// now is compacted
log.errorAndThrow('This is an error');
Copyright 2013 - present © cnpmjs.org | Home |