Created
July 5, 2011 00:49
-
-
Save nanha/1064115 to your computer and use it in GitHub Desktop.
node.js express middleware 중에서 logger를 사용하여 실제 파일로 logging 하는 방법
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* express 처음에 init 하시면 app.js 를 비롯하여 여러 디렉토리가 생기는데 | |
* logs 디렉토리에 아무것도 안남는다고 의문을 가지신 분에게 도움이 될거 같습니다. | |
* connect의 middleware logger 는 기본이 stdout 으로 출력하고 있었네요. | |
* http://senchalabs.github.com/connect/middleware-logger.html | |
* manual을 살펴보니 stream options 이 있었군요. | |
* 한번 생각나서 fs core module의 createWriteStream 을 사용하여 해봤더니 잘되네요. | |
* 다른 방법도 있으신분은 알려주세요 | |
*/ | |
var fs = require('fs'), | |
sys = require('sys'); | |
var filename = __dirname + '/logs/hello_log.txt'; | |
var fileStream = fs.createWriteStream(fileName); | |
// error handler | |
fileStream.addListener("error", function(err) { | |
sys.debug(err); | |
}); | |
// drain | |
fileStream.addListener("drain", function() { | |
console.log('drain'); | |
}); | |
// Configuration | |
app.configure(function(){ | |
// 이 부분입니다. stream property에 stream 설정 | |
var options = {stream: fileStream}; | |
app.use(express.logger(options)); | |
// .... | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks, been looking for an example of how to set up logger to use a filestream,
I'm wondering if there needs to be handler to close the file stream if the app crashes? Or will they get closed automatically when node falls over?