UNPKG

fast-node-logger

Version:
83 lines (53 loc) 2.27 kB
### An opinionated file logger with limited rotation policy options, base on [pino](https://www.npmjs.com/package/pino). this package provides: - quick start with default configuration. - an instance of [pino](https://www.npmjs.com/package/pino) logger. - flexibility of pino with options and prettify the output. - create log files in `logs` directory of root project directory. - delete old log files. - type safe with typescript. ## Notice: This is an opinionated package that limit the flexibility of awesome [pino](https://www.npmjs.com/package/pino) package. if you need full functionality please use original package. ## Quick Start ```js import { createLogger } from "fast-node-logger"; const logger = await createLogger(); logger.info(`Logger is Ready!`); ``` ## VSCode extension You can use the complimentary extension for VSCode [writelog-snippets](https://marketplace.visualstudio.com/items?itemName=saostad.writelog-snippets). ## Customization ```js const options: Options = { logDir: "./my-logs", retentionTime: 604800, // for 7 days }; await createLogger(options); ``` ### Documentations [Documentations website](https://saostad.github.io/fast-node-logger/) ### use pino original options [Pino Docs](https://github.com/pinojs/pino/blob/master/docs/api.md#options) ```js import { createLogger, Options } from "fast-node-logger"; const options: Options = { level: "trace", }; const logger = await createLogger(options); ``` ### CreateLogger(options) returns an instance of pino ```js import { createLogger } from "fast-node-logger"; const logger = await createLogger(); logger.info(`Logger is Ready!`); ``` ### writeLog(message, {stdout: false}) a shortcut for `logger.info(message)` with ability to additionally print to console with second parameter `{stdout: true}` ```js import { writeLog, createLogger, Options } from "fast-node-logger"; await createLogger(); writeLog(`logger is created!`, { stdout: true, level: "trace" }); ``` ### TODO: - [ ] add [recommended log rotation](https://github.com/pinojs/pino/blob/master/docs/help.md#log-rotation) - [ ] add ability to integrate with cloud log services (e.g. [sentry](https://sentry.io))