06-Egg-处理日志

1,481 阅读1分钟

Egg内部已经集成了日志,就不需要引入任何的包

当我们第一次运行项目的时候

项目目录下就会成logs和run两个目录

下面就来看看这两个目录到底有什么用

run目录是运行时候的配置,是Egg运行的时候自动帮我们添加的,这里面的代码不需要做任何的修改

重点看logs目录

logs目录下有一个和我们的项目名称一样的目录,这个目录下面有很多.log的文件,这些文件就是来记录日志的

默认情况下已经帮我们记录了日志,我们不需要做任何的配置

那下面来看看这些文件分别有什么作用

详情: eggjs.org/zh-cn/core/…

那下面来我们来简单处理一下日志

简单做个get请求

module.exports = (app) => {
  const { router, controller } = app;
  router.get("/test", controller.home.test);
};
const Controller = require("egg").Controller;

class HomeController extends Controller {
  async test() {
    this.ctx.logger.debug("我是DEBUG日志");
    this.ctx.logger.info("我是INFO日志");
    this.ctx.logger.warn("我是WARN日志");
    this.ctx.logger.error("我是ERROR日志");
  }
}

module.exports = HomeController;

效果图

但是也没有发现我们的debug日志没有输出

为什么?

因为官方文档说了: 默认只会输出 INFO 及以上(WARN 和 ERROR)的日志到文件中。

如果想输入debug日志我们需要对配置文件进行一些配置(详情看文档)

exports.keys = "sandy";
exports.logger = {
  keys: "sandy",
  level: 'DEBUG',
};

配置好了以后我们来刷新一下看看能不能成功

好了以后成功输出了,是不是就没有问题了

那么如何进行日志切割?

这个很简单,看看官方文档,已经详细的讲解了如何切割