簡體   English   中英

nodejs中的log4js-node未記錄到文件

[英]log4js-node in nodejs not logging to file

不是節點專家,這是我第一次使用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,它們向我發送該日志的電子郵件? 我已經安裝了nodemailer 0.7 fyi來處理smtp。

也許您可以在文件附加程序中刪除"category":"relative-logger"

是的,刪除“ category”:“ relative-logger”會以某種方式阻止數據傳輸到您的日志文件中。或者嘗試執行以下操作:

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

當然,該路徑是Windows路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM