2015-02-01 2 views
2

У меня есть очень простой экспресс-приложение. Я добавил winston без какой-либо конфигурации. Я создаю сообщения журнала, как это:Query winston log возвращает пустой результат

require('winston').info('App started'); 

и все сообщения журнала выходят в app.out.log. Когда я vi в файл я вижу

info: App started 

так по умолчанию ведение журнала с помощью Уинстона, кажется, работает хорошо. Теперь я хочу использовать запрос api для winston:

require('winston').query({}, function(err, results) { 
    if (err) { 
     res.status(400).json(err); 
    } else { 
     res.json(results); 
    } 
}); 

Но результаты не заполнены. В документе говорится:

Winston поддерживает запрос журналов с помощью логгиподобных опций. См. Loggly Search API. В частности: File, Couchdb, Redis, Loggly, Nssocket и Http.

и поскольку транспорт по умолчанию является файлом, я ожидаю, что результаты не будут пустыми. Какие-нибудь идеи в чем-то не так?

ответ

1

По умолчанию Winston использует только ConsoleTransport. Поэтому, если вы хотите запросить файл журнала, вам нужно добавить правильный транспорт (в этом примере используется перенос файлов).

Существует небольшой пример:

var winston = require('winston'); 

winston.add(winston.transports.File, { filename: 'app.out.log' }); 

winston.info('App started'); 

winston.query({}, function(err, results) { 
    if (err) { 
     res.status(400).json(err); 
    } else { 
     res.json(results); 
    } 
}); 

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

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