log 4 js-Node.jsのログ管理モジュールの使用とパッケージ化

4682 ワード

開発過程において、ログ記録は不可欠なもので、特に生産システムでは常にデバッグできないため、ログは重要なデバッグ情報源となります.
Node.jsはすでに既存のオープンソースログモジュールがあります.ロゴ4 jsです.ソースアドレス:クリックしてリンクを開けてください.
プロジェクト引用方法:npm install logs 4 js
1、構成説明(一般的なdateFileログタイプのみで例を示し、さらにロゴ4 js-wikiを参照):
{ 
  "appenders": [ 
  //           express    web  url   
  {"type": "console", "category": "console"}, 
  //          
  {      
    "type": "dateFile",                 //       ,               
    "filename": "e:/weblogs/logs/",     //      ,             
    "pattern": "debug/yyyyMMddhh.txt",  //    ,   filename  
    "absolute": true,                   // filename      
    "alwaysIncludePattern": true,       //             
    "category": "logInfo"               //     
  } ],
  "levels":{ "logInfo": "DEBUG"}        //             ,         ,    
}
patternで使用できるプレースホルダの説明は、以下のプレースホルダの形式ではなく、ファイル名としてそのまま出力されます.
yy 2桁の年
yyyy 4桁の年
MM二人の月
dd.  二人の日付
hh.  二人の時間数は24時間制です.
mm 2桁の点数
パス  二桁の秒数
SSS 3ビットのミリ秒数
O    タイムゾーンでは、大文字のO、プレースホルダの出力結果は+0800です.
現在が2014年6月20月15時とすると、上の構成は最終的にe:\weblogs\logs\debug\2014062015.5 txtというファイルに記録されます.
2、ログコードを出力して、まず上の構成コードをlogl 4 js.jsonファイルとして保存してください.コードはファイルから配置をロードするために使われます.(構成が独立していても修正とリリースには便利です.):Jsonファイルはいかなる形式の注釈/または/*/をサポートしていないので、上の配置コードのコメントは全部削除してください.
var log4js = require('log4js');

//  :            ,      ,      
log4js.configure("./log4js.json");
var logInfo = log4js.getLogger('logInfo');
logInfo.info("      ");
上记の配置とコードは比较的简単です.ここでは前に使っていたC〓〓〓バージョンのログログログの种类を参考にして、ロゴ4 jsを新たにカプセル化しました.一つのlogHelper.jsを定义しました.
1、log 4 js.jsonプロファイルの内容(4つのログレコーダを定義し、それぞれ異なるログディレクトリに書き込みます.2つの属性をカスタマイズして、いくつかの共通の属性をカスタマイズして、カスタム属性に抽出します.)
{
    "customBaseDir" :"e:/weblogs/logs/",
    "customDefaultAtt" :{
        "type": "dateFile",
        "absolute": true,
        "alwaysIncludePattern": true
    },
    "appenders": [
            {"type": "console", "category": "console"},
            {"pattern": "debug/yyyyMMddhh.txt", "category": "logDebug"},
            {"pattern": "info/yyyyMMddhh.txt", "category": "logInfo"},
            {"pattern": "warn/yyyyMMddhh.txt", "category": "logWarn"},
            {"pattern": "err/yyyyMMddhh.txt", "category": "logErr"}
        ],
        "replaceConsole": true,
        "levels":{ "logDebug": "DEBUG", "logInfo": "DEBUG", "logWarn": "DEBUG", "logErr": "DEBUG"}
}
2、logHelper.jsパッケージのファイル内容:
var helper = {};
exports.helper = helper;

var log4js = require('log4js');
var fs = require("fs");
var path = require("path");

//       
var objConfig = JSON.parse(fs.readFileSync("log4js.json", "utf8"));

//                ,      
if(objConfig.appenders){
    var baseDir = objConfig["customBaseDir"];
    var defaultAtt = objConfig["customDefaultAtt"];

    for(var i= 0, j=objConfig.appenders.length; i
3、コードコール:
var logger = require("./logHelper").helper;
logger.writeInfo("  1      ");
logger.writeErr("   ,     ");
4、expressと統合して、クライアントGETまたはPOSTのurlを出力できます.
// app.js       ,         url  ,         ,    app.use  
var app = express();
var log = require('./logHelper');
log.use(app);