2015-02-01 3 views
2

저는 아주 기본적인 표현 응용 프로그램을 가지고 있습니다. 어떤 구성도없이 winston을 추가했습니다. 다음과 같은 로그 메시지를 만듭니다.쿼리 winston 로그가 빈 결과를 반환합니다.

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

모든 로그 메시지는 app.out.log입니다. 내가 파일에 vi 내가 사용

info: App started 

그래서 기본 로깅을 볼 때 윈스턴은 잘 작동하는 것 같다. 이제 winston의 쿼리 API를 사용하고 싶습니다.

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

결과가 비어 있습니다. 의사는 다음과 같이 말합니다 :

Winston은 Loggly 형 옵션을 사용하여 로그를 쿼리 할 수 ​​있습니다. Loggly 검색 API를 참조하십시오. 구체적으로 : File, Couchdb, Redis, Loggly, Nssocket 및 HTTP.

기본 전송이 File이기 때문에 결과가 비어 있지 않을 것으로 예상됩니다. 어떤 아이디어가 잘못 됐나요?

답변

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); 
    } 
}); 
:

약간의 예입니다