【Express】创建输出日志中间件(log4js)

js 复制代码
const log4js = require('log4js')
//日志输出 控制台输出,文件也要输出
log4js.configure({
    appenders: {
        // 控制台输出
        out: {
            type: 'stdout',
            layout: {
                type: 'colored'
            }
        },
        //文件输出
        file: {
            filename: 'logs/server.log',
            type: 'file'
        }
    },
    categories: {
        default: {
            appenders: ['out', 'file'],
            level: 'debug'
        }
    }
})
const logger = log4js.getLogger('default')
const LoggerMiddleware = (req, res, next) => {
    logger.debug(`[${req.method}] -- ${req.url}`)
    next()
}

module.exports = LoggerMiddleware
js 复制代码
const LoggerMiddleware = require('./middleware/logger.js')
app.use(LoggerMiddleware)


相关推荐
念何架构之路3 天前
Gin中间件机制
中间件·gin
深维AI随笔3 天前
《构建之法》| 第二章个人技术和流程:单元测试不是“可选“,而是“必需“
单元测试·log4j·apache
Broccoli523026653 天前
FastAPI 中间件
中间件·fastapi
紫水木鱼4 天前
物联网通讯协议_MQTT_持续更新
物联网·中间件
烂蜻蜓5 天前
Node.js入门教程(三十一):Express 框架
node.js·express
__zRainy__6 天前
Node.js Web 框架选型指南:从 Express 到 Hono 的全景对比
前端·node.js·express·koa·nestjs·egg·fastify
meilindehuzi_a6 天前
Express 基础到中间件:系统掌握常用 API 与请求处理链
中间件·express
En^_^Joy6 天前
Django中间件:请求拦截和响应(类似装饰器)
中间件·django·sqlite
七牛开发者7 天前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
lazy H7 天前
不同的消息队列有什么区别?Kafka、RabbitMQ、RocketMQ、Pulsar、ActiveMQ 选型对比
后端·中间件·kafka·rabbitmq·rocketmq