我希望能够很好地忽略特定路线的记录,因为它是一个健康检查路线,每隔几秒就会被亚马逊调查一次 - 它只会给我们的日志增加噪音.
我是否可以为好的插件设置路由特定的配置,以便它只忽略一个特定的路由?
至少在hapi16.1、7.1 good和good-squeeze5.0上可以使用。这个想法是标记健康检查路由的日志记录,然后使用排除该路由good-squeeze。
配置good/ good-squeeze排除“ health”:
server.register({
register: Good,
options: {
reporters: {
console: [
{
module: 'good-squeeze',
name: 'Squeeze',
args: [
{
// keep health checks from appearing in logs
response: { exclude: 'health' },
log: '*',
},
],
},
{
module: 'good-console',
},
'stdout',
],
},
},
});
Run Code Online (Sandbox Code Playgroud)
然后标记您的路线:
server.route({
method: 'GET',
path: '/admin/ok',
handler: (request, reply) => reply('ok'),
config: {
tags: ['health'],
},
});
Run Code Online (Sandbox Code Playgroud)
我假设您正在考虑忽略response据我所知不可配置的日志记录。对于其他日志记录,您可以通过使用标签来过滤事件。
下列:
var someData = {foo:'bar'};
request.log('myTag', someData);
Run Code Online (Sandbox Code Playgroud)
生成以下输出:
150928/224019.555, [request,myTag], data: {"foo":"bar"}
Run Code Online (Sandbox Code Playgroud)
以下good选项可以选择此选项:
var loggingOpts = {
reporters: [{
reporter: require('good-console'),
events: { request: 'myTag' }
}]
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |