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