Node.js + Expressã§ãã®ã³ã°ãã¦ã¿ã
æä½ãæï¼ã§ãªããæ¸ããã¨ããç®æ¨ããã£ããå¿ãã¦ãã¾ããã
ä»åã¯Node.js + Expressã§Webã¢ããªãä½ã£ã¦ããã®ã§ããã°å¨ãã®å®è£ ã«ã¤ãã¦æ¸ãã¦ã¿ã¾ãã
åèã«ããã®ã¯ãã¡ãã
http://www.yoheim.net/blog.php?q=20130903
ã¨ãã£ã¦ã調ã¹ããã¨æã£ãäºããã»ã¨ãã©ãã¡ãã®è¨äºã«æ¸ããã¦ããã®ã§åã¯ãããªæãã§ä½ã£ã¦ã¿ã¾ããã¨ãã話ã«ãªãã¾ãã
ãã£ããè¦ç¹ã ãæ¸ãã¨
ã»Expressã¯ãã®ã³ã°æ©è½ãè²§å¼±ãã¤ããã©ã«ãã®è¨å®ãstdoutã«ãã°ãåºåããã ãã
ã»log4jsï¼https://github.com/nomiddlename/log4js-nodeï¼ã¨ããlog4jã£ã½ãã¢ã¸ã¥ã¼ã«ãnpmã§ç¨æããã¦ããã使è
æ§ã«æè¬æè¬ã
ã»Expressã§log4jsã使ãã°ããããã
ã¨ããããã§è©¦ãã¦ã¿ã
åºæ¬çãªä½¿ãæ¹ã¯ä»¥ä¸ã®éãã§ãã
var log4js = require('log4js'); var logger = log4js.getLogger({ "appenders": [ { "type": "file", "filename": "relative/path/to/log_file.log" } ] }); logger.debug("Some debug messages");
log4jsã¢ã¸ã¥ã¼ã«ãèªã¿è¾¼ãã§loggerãªãã¸ã§ã¯ãã使ãã¦ã¡ã½ãããå¼ã¶ã¨ããæãã§ãã
ãããã¢ã¸ã¥ã¼ã«æ¯ã«æ¸ãã®ã¯ããã©ãã®ã§ãloggerç¨ã®ã¢ã¸ã¥ã¼ã«ãä½ãã¾ããã
logger.js
var log4js = require('log4js'); log4js.configure('config/log4js.json'); var loggerApp = log4js.getLogger('app'), loggerErr = log4js.getLogger('error'), loggerAcs = log4js.getLogger('access'); // expressã«æ¸¡ãã¢ã¯ã»ã¹ãã°è¨å® exports.accessConfig = log4js.connectLogger(loggerAcs, { level: log4js.levels.INFO }); // ã¢ããªã±ã¼ã·ã§ã³ãã° exports.info = function(InStr){ loggerApp.info(InStr); }; // ã¨ã©ã¼ãã°ï¼è¦åã¬ãã«ï¼ exports.warn = function(InStr){ loggerErr.warn(InStr); }; // ã¨ã©ã¼ãã°ï¼ã¨ã©ã¼ã¬ãã«ï¼ exports.error = function(InStr){ loggerErr.error(InStr); }; // ã¨ã©ã¼ãã°ï¼ç·æ¥ã¬ãã«ï¼ exports.fatal = function(InStr){ loggerErr.fatal(InStr); };
config/log4js.json
{ "appenders": [ { // ã¢ããªã±ã¼ã·ã§ã³ç¨ã®ãã° "type": "dateFile", "filename": "log/app.log", "pattern": "-yyyy-MM-dd", "maxLogfSize":20480, "backups":10, "category":"app" }, { // ã¢ã¯ã»ã¹ãã° "type": "dateFile", "filename": "log/access.log", "pattern": "-yyyy-MM-dd", "maxLogfSize":20480, "backups":10, "category":"access" }, { // ã¨ã©ã¼ãã° "type": "dateFile", "filename": "log/error.log", "pattern": "-yyyy-MM-dd", "maxLogfSize":20480, "backups":10, "category":"error" } ] }
configã§ã¯ãã¬ã¼ã¹ãã°ãã¢ã¯ã»ã¹ãã°ãã¨ã©ã¼ãã°ãè¨å®ãã¾ããæ¥åä½ã§ãµã¤ã¯ã«ããè¨å®ã§ãã
loggerã¢ã¸ã¥ã¼ã«ã§ã¯ããããã®ãã°ã®log4js.loggerãªãã¸ã§ã¯ãã使ãã¦å é¨ã§ä¿æãããã°åºåç¨ã®é¢æ°ãã¬ãã«æ¯ã«ä½ã£ã¦ãããããã®é¢æ°ã®ä¸ã§ãã°ã®åºåå ãåãã¦ããã¨ããæãã§ãã
使ãæã¯ãããªæãã§ãã
app.js
// ãã¬ã¼èªã¿è¾¼ã¿ var logger = require('logger'); // ã¢ããªã±ã¼ã·ã§ã³è¨å® app.configure(function(){ // Expressããã©ã«ãã®ãã¬ã¼ã¯ã³ã¡ã³ãã¢ã¦ã // app.use(express.logger('dev')); // log4jsã¨expressãã¤ãªãã app.use(logger.accessConfig); // ããã§ã¢ã¯ã»ã¹ãã°ãstdoutã§ãªãæå®ãããã°ãã¡ã¤ã«ã«åºåãããããã«ãªãã¾ãã });
ä»ã®js
var logger = require('logger'); try{ // ãã¬ã¼ã¹ãã°åºå logger.info('porc start'); // ä½ãå¦ç }catch(e){ // ã¨ã©ã¼ãã°åºå logger.fatal(e); }
ãããã¼ããªããééã£ã¦ãã䏿ãããæ¹ããã£ããæãã¦ä¸ããã

ã¯ããã¦ã®Node.js -ãµã¼ãã¼ãµã¤ãJavaScriptã§Webã¢ããªãéçºãã-
- ä½è : æ¾å³¶æµ©é
- åºç社/ã¡ã¼ã«ã¼: ã½ãããã³ã¯ã¯ãªã¨ã¤ãã£ã
- çºå£²æ¥: 2013/03/15
- ã¡ãã£ã¢: 大忬
- ã¯ãªãã¯: 15å
- ãã®ååãå«ãããã° (5ä»¶) ãè¦ã