如何使哈皮好忽略一个特定的路线

Mon*_*key 6 javascript hapijs

我希望能够很好地忽略特定路线的记录,因为它是一个健康检查路线,每隔几秒就会被亚马逊调查一次 - 它只会给我们的日志增加噪音.

我是否可以为好的插件设置路由特定的配置,以便它只忽略一个特定的路由?

Fio*_*ins 5

至少在hapi16.1、7.1 goodgood-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)


Cla*_*kie 0

我假设您正在考虑忽略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)