在终端中禁用请求日志

Disable request logs in terminal

是否可以关闭 sails 请求日志。就像我不想看到下面粘贴的示例一样。因为当我 运行 我的集成测试时,这些日志妨碍了报告。

<- PUT /api/v1/entrance/login                 (361ms 200)
 |  The requesting user agent has been successfully logged in.
 |  
 |  Under the covers, this stores the id of the logged-in user in the session as the `userId` key.  The next time this user agent sends a request, assuming it includes a cookie (like a web browser), Sails will automatically make this user id available as req.session.userId in the corresponding action.  (Also note that, thanks to the included "custom" hook, when a relevant request is received from a logged-in user, that user's entire record from the database will be fetched and exposed as `req.me`.)
 |  
 ° 
<- GET /api/v1/user/me/overview/subscribe     (26ms 200)

如果您查看有关日志的sails.js documentation,您可以根据需要更改日志级别。有几种方法可以做到这一点,但我更喜欢将日志级别放在 env 文件中,因为有些日志在生产中不需要,但在开发中很有意义并且很容易做到这一点:

// config/env/production.js
module.exports = {
  ...
  log: {
    level: 'debug'
  }
  ...
}

是帆钩。 https://www.npmjs.com/package/sails-hook-apianalytics

阅读文档,你可以编辑日志或禁用其中的一些,或者只是卸载挂钩。

运行 npm uninstall sails-hook-apianalytics 在项目的根上,然后扬帆。

要仅在生产中禁用请求日志记录,将 configuration 添加到 config/env/production.js 可能会很方便,将 routesToLog 属性 保留为空数组,因此,没有日志记录例程将绑定到任何事件,因此不会有任何开销。

我觉得你设置的测试用例跟我差不多

我在 ./test/lifecycle.test.js 中添加了配置。

'./lifecycle.test.js` 在 https://sailsjs.com/documentation/concepts/testing#?lifecycletestjs

中找到

当我在其中调用sails.lift()时,我添加了如下配置:

  sails.lift(
    {
      log: { level: 'silent' },
      apianalytics: { routesToLog: [] },
    },

然后,我只能看到 mocha 日志。