如何在配置文件中设置日志文件路径,以便可以将所有传入消息转储到文件statsd.log中。例如。
到目前为止我的情况是这样的,但它似乎不起作用:
{
graphitePort: 2003,
graphiteHost: "omitted.for.post.com",
port: 8125,
flushInterval: 10000,
debug: false,
dumpMessages: true,
log: "some/file/path/statsd.log"
}
由于
答案 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会在控制台上登录;你会用这种方式捕捉所有这些。