UNPKG

just-enough-logger

Version:
115 lines (77 loc) 2.35 kB
# just-enough-logger Minimal logger for nodejs # Installation `npm install just-enough-logger` or `yarn add just-enough-logger` # Usage ```js const { Logger } = require("just-enough-logger"); // or // [DEPRECATED] const Logger = require("just-enough-logger").default; // Default export is available for backward compatibility. It'll be removed in next version. let log = new Logger(); // let log = new Logger(options?); // Check options // By default, prints to a file and console // Default file is current_directory/log.log // Check the options for more details log.info("this is info message"); // 10/2/2019, 12:57:14 AM : [INFO] : this is info message log.warn("this is warn message"); // 10/2/2019, 12:57:14 AM : [WARN] : this is warn message log.error("this is error message"); // 10/2/2019, 12:57:14 AM : [ERROR] : this is error message ``` # Options Pass the options object to Logger constructor. ## transports - Where to print log message - Type: _Array_ - Valid Values: `["file", "console"]` - **Default**: `["file", "console"]` Example: ```js let log = new Logger({ transports: ["console"], // Only prints on console }); ``` ## file - Path of log file - Type: Path String - Valid Values: `/path/to/log.log` - **Default**: `[current_directory]/log.log` Example: ```js let log = new Logger({ file: path.resolve(__dirname, "logs", "my-log.log"), }); ``` ## formatter - Custom formatter - Type: Function - Signature: `(message: string, level: "info" | "warn" | "error") => string` - **Default**: Returns log in format `${new Date().toLocaleString()} : [${level.toUpperCase()}] : ${message}` Example: ```js let log = new Logger({ formatter: (message, level) => { return `${new Date()} ${level} ${message}`; }, }); ``` # Methods Methods work on instance of Logger ## getLogFilePath() - Returns the path of log file. ```js let logger = new Logger(); console.log(logger.getLogFilePath()); // c:\Programming\my-project\log.log ``` ## getLogStream() - Returns `WriteStream` of log file or null if file transports is not present. ```js let logger = new Logger(); console.log(logger.getLogStream()); ``` # License [MIT](/LICENSE) - [@saisandeepvaddi](https://github.com/saisandeepvaddi)