Introduction to bs-logger
bs-logger
is a powerful and flexible logging library for JavaScript applications. It provides a variety of APIs to create, customize, and manage logs seamlessly.
Getting Started
First, you need to install the bs-logger
library in your project:
npm install bs-logger
Creating a Basic Logger
You can create a basic logger using the following code snippet:
const { createLogger } = require('bs-logger') const logger = createLogger({ context: { service: 'my-service' } }) logger.info('Logger initialized')
Logger Levels
bs-logger supports multiple logging levels like info
, warn
, error
, etc.:
logger.info('This is an info message') logger.warn('This is a warning message') logger.error('This is an error message')
Custom Transports
You can define custom transports to send logs to different destinations:
const { createLogger, format, transports } = require('bs-logger') const logger = createLogger({
format: format.combine(
format.colorize(),
format.printf(({ level, message }) => `${level}: ${message}`)
),
transports: [
new transports.Console(),
new transports.File({ filename: 'combined.log' })
]
}) logger.info('Custom transport example')
Logging with Context
Contextual logging allows you to add metadata to your logs:
const logger = createLogger({ context: { userId: '12345' } }) logger.info('User logged in')
Async Logging
bs-logger also supports asynchronous logging:
logger.info({ async: true, message: 'Async log example' })
End-to-End Application Example
Here is a full example of a simple Node.js application using bs-logger:
const { createLogger, format, transports } = require('bs-logger')
const logger = createLogger({
format: format.combine(
format.colorize(),
format.timestamp(),
format.printf(({ timestamp, level, message }) => `${timestamp} ${level}: ${message}`)
),
transports: [
new transports.Console(),
new transports.File({ filename: 'app.log' })
]
})
const express = require('express') const app = express() const port = 3000
app.get('/', (req, res) => {
logger.info('Received a request')
res.send('Hello, World!')
})
app.listen(port, () => {
logger.info(`Server running on port ${port}`)
})
This application sets up an Express server and logs every request it receives.
For further information, refer to the official bs-logger
documentation.
Happy logging!
Hash: c2078ee61b4873dc6fdf619f6c2607e73ad51a9e4affd8c04224f6a54c86a88c