2017-01-19 9 views
0

Я пытаюсь получить переписанный файл журнала менее 20 МБ. Я настроил приложение log4js-файла с параметром maxlogsize как 20mb, но он не работает. Logger записывает файлы журналов размером более 20 МБ. Так может быть кто-то знает, как исправить эту проблему?узел log4js maxlogsize не работает

"use strict"; 

let path = require("path"); 
let log4js = require('log4js'); 

let $depth = 10; 
log4js.configure({ 
    appenders: [ 
     { 
      type: "console", 
      layout: { 
       type : "pattern", 
       pattern : "[%d{ISO8601}] %[%p {%x{ln}} -%]\t%m", 
       tokens: { 
        ln : function() { 
         var errorStack = (new Error).stack.split("\n"); 
         var tempLocation = errorStack[$depth]; 
         if (typeof tempLocation !== 'undefined' && tempLocation) { 
          return tempLocation .replace(/^\s+at\s+(\S+)\s\((.+?)([^\/]+):(\d+):\d+\)$/, function(){ 
           return arguments[1] +' '+ arguments[3] +' line '+ arguments[4]; 
          }); 
         } 
        } 
       } 
      } 
     }, 
     { 
      type: "file", 
      filename: __dirname + '/../data/' + "/smartHomeServer.log", 
      layout: { 
       type : "pattern", 
       pattern : "[%d{ISO8601}] %[%p {%x{ln}} -%]\t%m", 
       maxLogSize: 20971520, 
       backups: 1, 
       tokens: { 
        ln : function() { 
         var errorStack = (new Error).stack.split("\n"); 
         var tempLocation = errorStack[$depth]; 
         if (typeof tempLocation !== 'undefined' && tempLocation) { 
          return tempLocation.replace(/^\s+at\s+(\S+)\s\((.+?)([^\/]+):(\d+):\d+\)$/, function() { 
           return arguments[1] + ' ' + arguments[3] + ' line ' + arguments[4]; 
          }); 
         } 
        } 
       } 
      } 
     } 
    ] 
}); 
let log = log4js.getLogger(); 

module.exports = log; 
+0

ИСПРАВЛЕНО: Я сделал ошибку в Appender. maxLogSize и резервные копии должны быть на уровне выше. –

ответ

0

Fixed Appender:

{ 
     type: "file", 
     filename: __dirname + '/../data/' + "/smartHomeServer.log", 
     maxLogSize: 20971520, 
     backups: 1, 
     layout: { 
      type : "pattern", 
      pattern : "[%d{ISO8601}] %[%p {%x{ln}} -%]\t%m", 
      tokens: { 
       ln : function() { 
        var errorStack = (new Error).stack.split("\n"); 
        var tempLocation = errorStack[$depth]; 
        if (typeof tempLocation !== 'undefined' && tempLocation) { 
         return tempLocation.replace(/^\s+at\s+(\S+)\s\((.+?)([^\/]+):(\d+):\d+\)$/, function() { 
          return arguments[1] + ' ' + arguments[3] + ' line ' + arguments[4]; 
         }); 
        } 
       } 
      } 
     } 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^