@byu-oit/express-logger
v1.0.0
Published
Default express logging middleware to match BYU app dev logging standards
Downloads
1,063
Maintainers
Keywords
Readme
Express Logger
Default express logging middleware to match CES Application Development logging standards.
Install
npm i @byu-oit/express-logger
Usage
import { LoggerMiddleware } from '@byu-oit/express-logger'
const app = Express()
app.use(LoggerMiddleware())
// ... add routes to express app
const { LoggerMiddleware } = require('@byu-oit/express-logger')
const app = Express()
app.use(LoggerMiddleware())
Any requests to the express server will then write logs that look like:
{
"level":"info",
"time":1617128842026,
"req":{
"id":"Root=1-abcde",
"method":"GET",
"url":"/persons/123456789",
"remoteAddress":"::1"
},"res":{
"statusCode":200
},
"responseTime":168,
"message":"request completed"
}
Embedded Logger
This middleware will attach the Pino logger to the request object, so if needed you can access the logger like:
app.use(LoggerMiddleware())
app.get('/foo', (req, res) => {
req.log.debug('Inside the /foo route')
res.send('hello world')
})
Options
Any pinoHttp
options can be overridden, but for compliance with our logging standards, we recommend sticking to the defaults provided in this package.
Example of overwriting a default
app.use(LoggerMiddleware({
level: 'trace'
}))
Note: If you provide your own logger
please use the @byu-oit/logger to ensure you follow the logging standards.
import DefaultLogger from '@byu-oit/logger'
const myLogger = DefaultLogger()
app.use(LoggerMiddleware({
logger: myLogger
}))