log 4 js-Node.jsのログ管理モジュールの使用とパッケージ化
4682 ワード
開発過程において、ログ記録は不可欠なもので、特に生産システムでは常にデバッグできないため、ログは重要なデバッグ情報源となります.
Node.jsはすでに既存のオープンソースログモジュールがあります.ロゴ4 jsです.ソースアドレス:クリックしてリンクを開けてください.
プロジェクト引用方法:npm install logs 4 js
1、構成説明(一般的なdateFileログタイプのみで例を示し、さらにロゴ4 js-wikiを参照):
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ファイルはいかなる形式の注釈/または/*/をサポートしていないので、上の配置コードのコメントは全部削除してください.
1、log 4 js.jsonプロファイルの内容(4つのログレコーダを定義し、それぞれ異なるログディレクトリに書き込みます.2つの属性をカスタマイズして、いくつかの共通の属性をカスタマイズして、カスタム属性に抽出します.)
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);