2

例如,如何在配置文件中设置日志文件路径,以便将所有传入消息转储到文件 statsd.log 中。

我到目前为止是这样的,但它似乎不起作用:

{
   graphitePort: 2003,
   graphiteHost: "omitted.for.post.com",
   port: 8125,
   flushInterval: 10000,
   debug: false,
   dumpMessages: true,
   log: "some/file/path/statsd.log"
}

谢谢

4

2 回答 2

2

您可以将 statsd 的输出重定向到您想要的任何位置

node /usr/share/statsd/stats.js /etc/statsd/rdioConfig.js 2>&1 >> /tmp/statsd.log 

或者您可以将日志记录设置为转到 syslog。https://github.com/etsy/statsd/blob/master/exampleConfig.js#L42

于 2012-10-09T02:06:47.177 回答
0

或者,您可以在 log4js 库的帮助下初始化您自己的记录器。

var log4js = require(log4js);
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file(config.log), 'bekcilog');
var loggerjs = log4js.getLogger('bekcilog')
log4js.replaceConsole(loggerjs);

调用replaceConsole方法至关重要,这样所有控制台日志都可以被捕获并转储到您指定的日志文件中。因为默认情况下,statsd 登录控制台;你会用这种方式抓住所有这些。

于 2013-11-20T13:29:50.460 回答