Raven Sentinel
This lib is a log manager that facilitates the identification of logs in code.
Downloads
Statistics of this lib on NPM.
Total | Weekly | Monthly | Yearly |
---|---|---|---|
How to install?
CDN
https://unpkg.com/@vlalg-nimbus/raven-sentinel/dist/bundle.min.umd.js
To install
yarn add @vlalg-nimbus/raven-sentinel
How to use?
import LoggerFactory from '@vlalg-nimbus/raven-sentinel'
const nodeEnv = process.env.NODE_ENV
const isDev = !!(nodeEnv === 'development')
const logOptions = {
className: 'App Name',
nodeEnv: nodeEnv,
showLogs: isDev ? 'Trace' : 'Warn'
}
const $log = new LoggerFactory(logOptions).create()
$log.logDebug('Hello world')
Options
showLogs
It serves to inform which log level can appear in the development and production environments. For the previous example we used level 0 (trace) if it is 'development', so all logs are allowed, as it is not safe and correct to be logging in production, we set level 3 (warn), which will log (Warn, Error and None) that is, the levels (3, 4 and 5) in production.
Trace = '0'
Debug = '1'
Info = '2'
Warn = '3'
Error = '4'
None = '5'
className
Used to pass the system name, libs and such that are using log-manager. This makes it easier to identify the log, since we can use it in several places, so if we were using it in a service and in the general application, we could set the right name of the service as 'Service X' and inside the application 'Application Y', when you consult the console, everything will be separated.
nodeEnv
This field receives the environment that is currently being used, if I am in development development
and production production
. Then we pass process.env.NODE_ENV
or whatever env you are using.
primaryColor
Used to pass a hex of some color that will be used as the primary color. The default is the color #04F0FC
. The default color is used if none is passed.
logStyle
You can pass the style of the log, if you do not inform anything, the default will be used. This would basically be like working with css in console.log
.
Logs list
cleanLog
Internally it is an console.log
.
No styling, i.e. a default console.log
this.$log.cleanLog($log.printObject(data));
debug
Internally it is an console.debug
this.$log.debug('Msg test for debug');
error
In the example the e is passed in the catch, so it could be an error or something else
Internally it is an console.error
this.$log.error(e);
log
Internally it is an console.log
this.$log.log('Hello world')
this.$log.log('Hello world 1', 'Hello world 2')
logDebug
Internally it is an console.log
this.$log.logDebug('Hello world')
this.$log.logDebug('Hello world 1', 'Hello world 2')
this.$log.logDebug(JSON.stringify({algumObj}, null, 2))
logError
Internally it is an console.error
this.$log.logError('this is the error')
logInfo
Internally it is an console.log
this.$log.logInfo('Hello world')
this.$log.logInfo('Hello world 1', 'Hello world 2')
method
Internally it is an console.log
this.$log.method('Hello world')
this.$log.method('Hello world 1', 'Hello world 2')
printObject
Used with the $log.cleanLog
Internally it is an printObject
this.$log.cleanLog(this.$log.printObject({ name: 'test' }));
table
Internally it is an console.table
this.$log.table({ name: 'test' });
time
Starts a timer in the console
Internally it is an console.time
this.$log.time();
for (let i = 0; i < 3; i++) {
console.log(i)
}
this.$log.timeEnd();
timeEnd
It is used after the logic inserted after $log.time()
Internally it is an console.timeEnd
this.$log.time();
for (let i = 0; i < 3; i++) {
console.log(i)
}
this.$log.timeEnd();
trace
Internally it is an console.debug
this.$log.trace('Msg test for trace')
warn
Internally it is an console.warn
this.$log.warn('Msg test for warn')