【发布时间】:2016-06-24 14:05:03
【问题描述】:
我有一个要添加日志记录的 Express 应用程序。我安装了 Morgan 并在管理我的 API 调用的文件中设置了中间件:
/src/api/calls.js
morgan 中间件设置为将日志记录结果发送到文件:errors.txt
var express = require('express'),
app = express(),
dbConfig = require('../config/db.config'),
connectToMongo = require('./db.js'),
bodyParser = require("body-parser"),
ObjectId = require('mongodb').ObjectID,
morgan = require('morgan'),
fs = require('fs'),
Sb;
//middleware
var accessLogStream = fs.createWriteStream('../sample/errors.txt', {flags: 'a'})
app.use(morgan('combined', {stream: accessLogStream}));
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.use(bodyParser.urlencoded({ extended: true }));
module.exports = function apiRoutes(app) {
app.get("/v1/api/sample/:call", function(req, res, next) {
//route db calls and code here
});
}
/app.js
app.js 文件中需要 api 路由并调用 apiRoutes 函数:
var express = require('express');
var app = express();
var config = require('./src/config/server.config');
//api and server
var http = require('http');
var server = new http.Server(app);
//load the api calls for the server
var apiRoutes = require('./src/api/calls.js');
apiRoutes(app);
问题是 - 当我将代码更改为简单的 STDOUT 时,我没有将任何日志数据写入我的 errors.txt 文件甚至控制台中。我在这里想念什么?
【问题讨论】: