nodejs之log4js日志记录模块简单配置使用
2024-08-27 14:08:08
在我的一个node express项目中,使用了log4js来生成日志并且保存到文件里,生成的文件如下:
文件名字叫:access.log 如果在配置log4js的时候允许了同时存在多个备份log文件,(比如我写的是3个:backup:3)那么从时间最远到最近,会生成access.log.3,
access.log.2,access.log.1,access.log
一、下载安装log4js
在项目根目录下命令行:
window:
npm install log4js
mac(sudo不是必需的,但是不带sudo可能会遇到什么管理权限之类的莫名其妙的问题,所以我习惯mac里都带sudo,下载过程中会要求输入电脑密码):
sudo npm install log4js
下载好了,现在我的项目结构如下:
其中app_simply.js是我的项目的运行文件,是我简单的自己写的一个项目运行文件,只有最基本的功能。不是通过express生成器自动生成的。
二、配置log4js
在app_simply.js中加入以下几句:
var log4js = require('log4js');//加载log4js模块
var express = require('express');
var path = require("path"); var app = express();
//通过configure()配置log4js
log4js.configure({
appenders: [
{type: 'console'}, //控制台输出
{
type: 'file', //文件输出
filename: 'logs/access.log',//输出日志的文件夹/文件名,不会自动生成文件夹,请先自行创建logs文件夹
maxLogSize: 1024*12,//一个文件的大小,超出后会自动新生成一个文件
backups: 3,//备份的文件数量
category: 'normal'
}
],
replaceConsole: true
});
var logger = log4js.getLogger('normal');
logger.setLevel('INFO');//设置输出级别,具体输出级别有6个,见下方说明 app.use(log4js.connectLogger(logger, {level: log4js.levels.INFO}));
app.get("/", function(req, res){
res.send("88888");
});
var server = app.listen(3001, function(){
var host = server.address().address;
var port = server.address().port; console.log('Example app listening at http://%s:%s', host, port);
});
log4js的输出级别6个: 从低到高:trace, debug, info, warn, error, fatal
- logger.trace(‘Entering cheese testing’);
- logger.debug(‘Got cheese.’);
- logger.info(‘Cheese is Gouda.’);
- logger.warn(‘Cheese is quite smelly.’);
- logger.error(‘Cheese is too ripe!’);
- logger.fatal(‘Cheese was breeding ground for listeria.’);
输出日志时,高于等于我们自己设置的等级的信息都会输出,比如我设置的是info,到时候info, warn,error,fatal的信息都会输出到文件中
然后跑起我们的服务器,就会生成日志啦!
结束:一个简单的log4js的配置如上。更多用法自己看官方文档和log4js文件夹里的readme.md也可以
最新文章
- Jquery揭秘系列:实现$.fn.extend 和$.extend函数
- Gvr SDK for Unity 分析(二)
- Swift 懒加载(lazy) 和 Objective-C 懒加载的区别
- hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup
- Centos6.4版本下搭建LAMP环境
- C# json to dynamic object
- [Cache] C#操作缓存--CacheHelper缓存帮助类 (转载)
- 实验-使用VisualVM或JConsole进行对程序进行性能分析
- ajax基本介绍
- C# 通过 Quartz .NET 实现 schedule job 的处理
- 实战深度学习OpenCV(一):canny边缘检测
- 多版本python安装第三方库
- 关于apache 开启 ssl https 支持 TLS1.2 的些事
- php中memcached的使用
- class=";no-js";
- codeforces 497c//Distributing Parts// Codeforces Round #283(Div. 1)
- Docker load与Docker import
- [JSOI2009]游戏 二分图博弈
- ActiveMQ搭建
- Linearization of the kernel functions in SVM(多项式模拟)