nodejs自定义日志
安装依赖
安装 nodemon 与cross-env
cnpm i nodemon cross-env --save-dev
package.json配置
`.添加dev与 prd配置
“dev”: “cross-env NODE_ENV=dev nodemon node ./bin/www”,
“prd”: “cross-env NODE_ENV=production nodemon node ./bin/www”
{
"name": "node0517",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www",
"dev": "cross-env NODE_ENV=dev nodemon node ./bin/www",
"prd": "cross-env NODE_ENV=production nodemon node ./bin/www"
},
"dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"jade": "~1.11.0",
"moment": "^2.24.0",
"morgan": "~1.9.1",
"mysql2": "^1.6.5",
"sequelize": "^5.8.6"
},
"devDependencies": {
"cross-env": "^5.2.0",
"nodemon": "^1.19.0"
}
}
使用
app.js 配置, 使用morgan,可以在npm上查看
let logger = require('morgan');
const ENV = process.env.NODE_ENV
if (ENV !== 'production') {
// 开发环境
app.use(logger('dev'))
} else {
// 生产环境,写入日志
const logFileName = path.join(__dirname, 'logs', 'logger.log')
const writeStream = fs.createWriteStream(logFileName, {
flags: 'a'
})
app.use(logger('combined', {
stream: writeStream
}))
}
安装依赖
使用
npm run dev (开发环境,控制台输出日志)
npm run prd (生产环境,会写入日志)