如何为statsd日志文件配置设置本地路径

时间:2012-08-10 15:30:18

标签: logging statsd

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

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

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

由于

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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会在控制台上登录;你会用这种方式捕捉所有这些。