Djangoの開発サーバーと同様のコンソールログを使用してNode.jsサーバーを構築しようとしています。例えば。 (Node Beginner Book tutorialに基づく)Node.js - コンソールへのレスポンスstatusCodeのログ(Django開発サーバー)
[27/Jun/2011 15:26:50] "GET /?test=5 HTTP/1.1" 200 545
次server.js私に時間と要求情報を取得します。
var http = require("http");
var url = require ("url");
var port = 1234;
function start(route, handle) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
var query = url.parse(request.url).query;
route(handle, pathname, query, response);
logRequest(request);
}
http.createServer(onRequest).listen(port);
console.log("\nServer running at http://192.168.1.5:" + port + "/");
console.log("Press CONTROL-C to quit.\n");
}
function logRequest(request) {
var pathname = url.parse(request.url).pathname;
var query = url.parse(request.url).query;
if (query == undefined) {
query = "";
}
var currentDate = new Date();
var day = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
var hours = currentDate.getHours();
var minutes = currentDate.getMinutes();
var seconds = currentDate.getSeconds();
if (minutes < 10) {
minutes = "0" + minutes;
}
if (seconds < 10) {
seconds = "0" + seconds;
}
console.log("[" + year + "/" + month + "/" + day +
" " + hours + ":" + minutes + ":" + seconds + '] "' +
request.method + " " + pathname + query +
" HTTP/" + request.httpVersion + '"');
}
exports.start = start;
は質問:どのように私はresponse.statusCodeを取得するには、このコードを更新し、何でしょう"545"番号がログ出力にありますか?
logRequest関数にレスポンスオブジェクトを追加しようとすると、router.jsが404エラーを生成していた(デバッグログを介して)ことがわかっていたとしても、ステータスコードは常に "200"でした。