log
See the whole documentation or the coverage report.
Getting started
Install the module:
$ npm install @megatherium/log
Use the module:
import logger from '@megatherium/log';
const log = logger.init({
app: 'test',
});
// create a logger for a subfolder
const subLog = log.init(null, 'subfolder');
subLog.debug(`A debugging message.`);
subLog.verbose(`A verbose message.`);
subLog.http(`An HTTP message - usually a request or response...`);
subLog.info(`An information.`);
subLog.warn(`A warning.`);
subLog.error(`An error message.`);
API
Exports
Exports an instance of Logger:
- clear
(): Promise
Clears all logs from the current log directory. - debug
(message: ...any): Promise<Message>
Logs a message on the debugging channel. - error
(message: ...any): Promise<Message>
Logs a message on the error channel. - http
(message: ...any): Promise<Message>
Logs a message on the http channel. - info
(message: ...any): Promise<Message>
Logs a message on the info channel. - init
(filenameOrMeta: string | object | null, directoryName: string): Promise<Logger>
Initializes the logger. - log
(level: string, message: ...any): Promise<Message>
Logs a message on any channel. - verbose
(message: ...any): Promise<Message>
Logs a message on the verbose channel. - warn
(message: ...any): Promise<Message>
Logs a message on the warn channel.
Environment variables
MEGATHERIUM_QUIET: boolean
If true
, messages will not be printed on the console.NODE_ENV: string
If 'production'
, messages on the debug
-channel will be ignored.
Scripts
The following scripts can be executed using npm run
:
build
Builds the module.build-docs
Builds the documentation.build-source
Builds the source code.build-tests
Builds test-cases from jsdoc examples.clear
Clears the module from a previous build.clear-coverage
Clears the coverage reports and caches.clear-docs
Clears the previous documentation build.clear-source
Clears the previous source build.clear-tests
Clears the generated jsdoc example test files.fix
Runs all automated fixes.fix-lint
Automatically fixes linting problems.release
Runs semantic release. Meant to be only executed by the CI, not by human users.test
Executes all tests.test-coverage
Generates coverage reports from the test results using nyc.test-deps
Executes a depcheck.test-e2e
Executes End-to-End-Tests using cucumber.test-integration
Executes integration tests using jest.test-lint
Executes linting tests using eslint.test-unit
Executes unit tests using mocha.update
Checks for dependency updates using renovate.
Contribution
See Contribution Guidelines for more details.