Winston은 대부분의 개발자에게 강력한 선택입니다. 나는 윈스턴을 오랫동안 사용 해왔다. 최근에 응용 프로그램 로깅을 다음 단계로 가져 오는 papertrail과 함께 winston을 사용했습니다.
그들의 사이트에서 멋진 스크린 샷입니다.
유용한 방법
한 곳에서 다른 시스템의 로그를 관리 할 수 있습니다. 이것은 두 개의 백엔드 통신이 있고 두 위치에서 로그를 볼 수있을 때 매우 유용합니다.
통나무가 살아 있습니다. 프로덕션 서버의 실시간 로그를 볼 수 있습니다.
강력한 검색 및 필터링
로그에 특정 텍스트가있는 경우 전자 메일을 보내도록 경고를 만들 수 있습니다.
더 많은 http://help.papertrailapp.com/kb/how-it-works/event-viewer/를 찾을 수 있습니다
간단한 구성을 사용하여 winston
, winston-express
그리고 winston-papertrail
노드 모듈.
import winston from 'winston';
import expressWinston from 'express-winston';
//
// Requiring `winston-papertrail` will expose
// `winston.transports.Papertrail`
//
require('winston-papertrail').Papertrail;
// create winston transport for Papertrail
var winstonPapertrail = new winston.transports.Papertrail({
host: 'logsX.papertrailapp.com',
port: XXXXX
});
app.use(expressWinston.logger({
transports: [winstonPapertrail],
meta: true, // optional: control whether you want to log the meta data about the request (default to true)
msg: "HTTP {{req.method}} {{req.url}}", // optional: customize the default logging message. E.g. "{{res.statusCode}} {{req.method}} {{res.responseTime}}ms {{req.url}}"
expressFormat: true, // Use the default Express/morgan request formatting. Enabling this will override any msg if true. Will only output colors with colorize set to true
colorize: true, // Color the text and status code, using the Express/morgan color palette (text: gray, status: default green, 3XX cyan, 4XX yellow, 5XX red).
ignoreRoute: function (req, res) { return false; } // optional: allows to skip some log messages based on request and/or response
}));
누군가가 자신의 로그를 관리하는 데 도움이되기를 바랍니다.