Malagu 默认提供的日志功能比较简单,底层是基于 loglevel 库实现。如果我们想要功能更为强大的日志,可以选择 @malagu/logger 组件,该组件是基于 pino 库实现。当然,我们也可以很容集成其他第三方日志库。在 Serverless 场景,基于 loglevel 库实现已经足够了,因为 Serverless 平台会自动帮我们收集日志,方便我们查看与分析应用。

接口定义

我们可以实现以下日志接口,并以 Logger 为 ID 注入到 IoC 容器,并设置 rebind 为 true,即可替换框架默认的日志实现。

  1. import * as log from 'loglevel';
  2. export interface Logger extends log.Logger {
  3. }

使用方式

  1. export class A {
  2. @Autowired(Logger)
  3. protected readonly logger: Logger;
  4. }

属性配置

设置日志输出级别。支持的级别(由低到高):trace、debug、info、warn、error、silent。

  1. # malagu.yml
  2. malagu:
  3. logger:
  4. level: error