Обычная регистрация файлов в winston

Я хочу записывать в файл только данные, а не уровень журнала, отметку времени и т. Д.

var logger = new (winston.Logger)({                                                                                     
  transports: [                                                                                                     
    new (winston.transports.File)({                                                                                 
        filename: '/tmp/data.log',                                                                                  
        json : false,                                                                                               
        timestamp : function() {                                                                                    
            return '';                                                                                              
        }                                                                                                           
    })                                                                                                              
  ]                                                                                                                 
}); 

logger.log('info', "a")

Он удаляет метку времени из строки, но уровень журнала все еще отображается. В настоящее время файл содержит "info: a". Я хочу, чтобы он регистрировал только «а». Можно ли указать формат вывода в winston?


person aamir    schedule 24.04.2014    source источник


Ответы (2)


К сожалению, это форматирование жестко закодировано в winston; вы можете увидеть логику этого в функции log функции common.js, которая используется большинством транспортов по умолчанию.

Обойти это можно было бы, написав свой собственный транспорт, который не зависит от common.log().

В стороне: вы можете просто указать опцию timestamp: false, чтобы отключить регистрацию временных меток в транспортах по умолчанию.

person LewisJEllis    schedule 04.06.2014

Вы можете определить собственный формат журнала следующим образом

var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
timestamp: function() {
return Date.now();
},
formatter: function(options) {
// Return string will be passed to logger.
return options.timestamp() +' '+ options.level.toUpperCase() +' '+ (options.message ? options.message : '') + (options.meta && Object.keys(options.meta).length ? '\n\t'+ JSON.stringify(options.meta) : '' );
}
})
]
});
logger.info('Data to log.');
person Syeda Sidrah    schedule 21.02.2017