1.现在,我们来给博客添加日志功能,实现访问日志access.log和错误日志error.log功能。
首先,我们在app.use(logger('dev'));这行代码的下面添加一行代码,就可以实现将日志保存为日志文件,如下所示:
app.use(logger({stream: accessLog})); //将日志保存为日志文件
接下来,我们在var app = express();这行代码的上面添加如下代码,实现对每一次访问的时候,请求的信息不仅保存在了命令行中,还海都把偶才能在了工程根目录下的access.log文件里面:
var fs = require('fs'); var accessLog = fs.createWriteStream('access.log', {flags: 'a'}); var errorLog = fs.createWriteStream('error.log', {flags: 'a'});
由于express并没有实现错误日志的功能,所以,我们编写一个错误日志的中间件,在app.use(express.static(path.join(__dirname, 'public'))); 下一行添加如下代码:
app.use(function (err, req, res, next) { var meta = '[' + new Date() + '] ' + req.url + ' '; errorLog.write(meta + err.stack + ' '); next(); });
这样每当有错误发生时,就可以将错误信心保存到根目录下面的error.log文件夹里面。
至此,我们就实现了博客的日志功能。