Logger framework for the Adobe I/O SDK
npm install @adobe/aio-lib-core-logging

!Node.js CI


Node.js Logger module for use by the Adobe I/O SDK
npm install @adobe/aio-lib-core-logging
``javascript`
let aioLogger = require('@adobe/aio-lib-core-logging')('App')
aioLogger.info('Hello logs')
Above code will log the following
> [App /mynamespace/myaction] info: Hello logs
Where _App_ would be the name of the application/module that is sending the logs.
The logger can be customized by passing a config object at the time of creation.
`javascript`
let aioLogger = require('@adobe/aio-lib-core-logging')('App', config)
The config object can have one or more of the following keys.
- level (max severity logging level to be logged. can be one of error, warn, info, verbose, debug, silly)
- provider (logging provider. default is winston.)
- logSourceAction (boolean to control whether to include the action name in the log message)
- transports (array of custom winston transports)
The global log level can also be overridden using the env variable AIO_LOG_LEVEL or the env variable LOG_LEVEL.
To see all logs, do
`bash`
$ DEBUG=* aio app run
Once you have figured out what logs you are interrested in, use something more specific, like
`bash`
$ DEBUG=aio-telemetry:telemetry-lib* aio config
Example of logger configuration:
`javascript`
const logger = require('@adobe/aio-lib-core-logging')('MyModuleName', {provider: 'debug'})
logger.info('info')
logger.debug('debug')
To see both logs:
`javascript`
AIO_LOG_LEVEL = debug
DEBUG = MyModuleName
It is possible to set the log level from another environment variable if needed:
`javascript`
const logger = require('@adobe/aio-lib-core-logging')('MyModuleName', {provider: 'debug', level: process.env.FOOBAR})
logger.info('info')
logger.debug('debug')$3
`javascript`
// Winston Logger
let aioLogger = require('@adobe/aio-lib-core-logging')('App', {provider:'winston'})
aioLogger.info('Hello logs')
or
`javascript`
// Debug Logger
let aioLogger = require('@adobe/aio-lib-core-logging')('App', {provider:'debug'})
`javascript`
let aioLogger = require('@adobe/aio-lib-core-logging')('App', {transports: './logfile.txt' })
`javascript`
const winston = require('winston')
let aioLogger = require('@adobe/aio-lib-core-logging')('App', {transports: [new winston.transports.File({ filename: './winstoncustomfilelog.txt' })]})
goto` API
Contributions are welcomed! Read the Contributing Guide for more information.
This project is licensed under the Apache V2 License. See LICENSE for more information.