输出日志 (Logger)
TIP
提供此服务的插件:@cordisjs/plugin-logger。
这是一个内置插件,无需在配置文件中声明。
日志类型与等级
Logger 服务提供了 5 种日志类型:
error: 错误 (1)success: 成功 (1)warn: 警告 (2)info: 信息 (2)debug: 调试 (3)
你可以在 ctx.logger 或 ctx.logger(name) 上调用这些方法。
不同的日志类型对应不同的等级。日志是否输出取决于日志的等级。默认情况下,输出到控制台的日志等级为 2,这将忽略 DEBUG 级别的日志。
配置拦截
config.name
- 类型:
string - 默认值:
hyphenate(ctx.name)
默认情况下的日志名称。如果未指定,则使用插件的名称。
插件作者可以为插件指定一个默认的日志名称。例如:
ts
// 默认的日志名称为 web-ui-service,这里手动设置为了 webui
@Inject('logger', true, { name: 'webui' })
class WebUIService extends Service {}当然,也可以使用下面的 ctx.logger(name) 方法来动态指定日志名称。
config.level
- 类型:
number - 默认值:
2(INFO)
默认显示的日志等级。例如,设置为 3 将会显示 DEBUG 级别的日志。
实例方法
ctx.logger[method](format, ...params)
- method:
Method日志类型 - format:
string格式化字符串 - params:
any[]格式化参数
输出日志。格式化字符串的使用方法与 console.log 类似。
ctx.logger(name?)
- name:
string日志名称,默认为config.name - 返回值:
Logger
创建带有给定名称的日志实例。此方法返回的日志实例可以进一步调用上述方法。
ts
const logger = ctx.logger('custom')
logger.info('Hello, world!')