0

ノードの専門家ではなく、 log4js -nodeを使用するのはこれが初めてです。

Express を実行している nodejs サーバー上の log4js を使用して、エラー ログとコンソール ログのいずれかを log_file.log ファイルに書き込もうとしています。ここに私の設定ファイルがあります:`

{
  "replaceConsole": true,
  "appenders": [
  {
    "type": "file",
    "filename":"log_file.log",
    "maxLogSize":20480,
    "backups": 3,
    "category":"relative-logger"
  },
  {
  "type":"logLevelFilter",
  "level":"ERROR",
  "appender":{
    "type":"file",
    "filename":"log_file.log"
    }
  },
  {

    "appender": {
      "type": "smtp",
      "recipients": "myemail@gmail.com",
      "sender": "myemailadd@gmail.com",
      "sendInterval": 60,
      "transport": "SMTP",
      "SMTP": {
        "host": "localhost",
        "port": 25
      }
    }
  }]
}`

app.js ファイルでアプリケーションを要求する方法は次のとおりです。

var log4js = require("log4js");
log4js.configure("log_config.json")
logger = log4js.getLogger();

これでlog4jsに手動エラーを送信しています(これをコンソールに正常に記録できますが、log_fileを書き込むことはできません):

logger.error('A mandrill error occurred: ' + e.name + ' - ' + e.message);

そして、jog4js がアプリケーションの通常の ERROR メッセージをキャッチすることを願っています。

log4js に log_file.log にログを記録させるにはどうすればよいですか? smtpを処理するためにnodemailer 0.7、fyiをインストールしました。

4

2 に答える 2

1

"category":"relative-logger"ファイルアペンダーで削除できるかもしれません。

于 2015-03-02T09:28:08.800 に答える
0

はい、 "category":"relative-logger" を削除します。ログ ファイルへのデータ転送が何らかの形でブロックされます。または、次のような方法を試してください。

// Setup Logging
log4js.configure({
    appenders: [
        { type: 'console' },
        { type: 'file', filename: '.\\logs\\PesaFastaArchiveData.log' }
    ]
});

パスはもちろん Windows パスです。

于 2015-05-11T10:52:41.490 に答える