https://github.com/thenorthsolution/prtyprnt
A pretty Node.js logger
https://github.com/thenorthsolution/prtyprnt
console logger nodejs
Last synced: over 1 year ago
JSON representation
A pretty Node.js logger
- Host: GitHub
- URL: https://github.com/thenorthsolution/prtyprnt
- Owner: thenorthsolution
- License: mit
- Created: 2024-07-31T12:36:47.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-02T09:07:54.000Z (almost 2 years ago)
- Last Synced: 2025-01-30T20:43:36.228Z (over 1 year ago)
- Topics: console, logger, nodejs
- Language: TypeScript
- Homepage:
- Size: 104 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# prtyprnt
A Node.js logging library
## Installation
```bash
npm install prtyprnt
```
## Usage
```js
// Default instance usage
import { logger } from 'prtyprnt';
logger.info('Hello, World!');
logger.debug('Hello, World!');
logger.warn('Hello, World!');
logger.error('Hello, World!');
logger.fatal('Hello, World!');
```
```js
// Custom instance usage
import { logger as defaultLogger, Logger, FileWriteStreamMode, Formatter } from 'prtyprnt';
const logger = new Logger({
formatter: new Formatter(), // Formatter of log messages for console and write stream
parent: defaultLogger, // Parent logger, events will also be emitted to this logger
label: 'MyLogger', // Label of the logger
debugmode: {
enabled: true, // Enable debug mode
printMessage: true, // Print debug messages to console
writeToFile: true // Write debug messages to a file
},
writeStream: await Logger.createFileWriteStream({
mode: FileWriteStreamMode.Rename, // Mode when dealing with old log file
filename: './logs/latest.log', // Filename of the log file
renameFile: Utils.gzipCompressLog // Function to rename the log file
}), // Write stream to log to a file
objectInspectOptions: { colors: true } // Object inspect options
})
logger.info('Hello, World!');
logger.debug('Hello, World!');
logger.warn('Hello, World!');
logger.error('Hello, World!');
logger.fatal('Hello, World!');
```
```js
// Clone instance usage
const newLogger = logger.clone({
label: 'MyNewLogger'
});
newLogger.info('Hello, World!');
newLogger.debug('Hello, World!');
newLogger.warn('Hello, World!');
newLogger.error('Hello, World!');
newLogger.fatal('Hello, World!');
```
```js
// Log to a file
import { logger, FileWriteStreamModem, Utils } from 'prtyprnt';
await logger.createFileWriteStream({
mode: FileWriteStreamMode.Rename,
filename: './logs/latest.log',
renameFile: Utils.gzipCompressLog
});
```