简介
egg-logger
是一款基于 Egg.js 框架的日志库,通过封装 Node.js 官方提供的 console
模块以及 winston 模块,提供了更加便捷的日志记录方式。本文将详细介绍如何在 Egg.js 项目中使用 egg-logger
。
安装
可以通过 npm 安装 egg-logger
:
npm install egg-logger --save
配置
在 Egg.js 项目的配置文件 config/config.default.js
中,添加如下配置:
module.exports = { logger: { dir: '/path/to/log/dir', level: 'INFO', consoleLevel: 'DEBUG', }, };
其中:
dir
指定日志文件存放目录。level
指定日志文件记录的最小级别,低于此级别的日志不会被记录。consoleLevel
指定控制台输出日志的最小级别。
如果需要记录多种级别的日志,可以按照如下方式进行配置:
-- -------------------- ---- ------- -------------- - - ------- - ---- ------------------- ------ ------- ----------------- ----- ------------- -------- ----------- ----- -- --
其中:
allowDebugAtProd
表示是否允许在生产环境下记录 DEBUG 级别的日志。outputJSON
表示是否将日志输出为 JSON 格式。
使用
在 Egg.js 项目中,可以通过 app.logger
对象记录日志。例如:
-- -------------------- ---- ------- -------------- - --- -- - ------ ----- -------------- ------- -------------- - ----- ------- - ----- - --- - - ----- --------------------- -------------- ------- ---- -------- ----- ------------------- - -- --
app.logger
对象提供了以下方法:
info(msg: string, ...args: any[])
:记录 INFO 级别的日志。debug(msg: string, ...args: any[])
:记录 DEBUG 级别的日志。warn(msg: string, ...args: any[])
:记录 WARN 级别的日志。error(msg: string | Error, ...args: any[])
:记录 ERROR 级别的日志。fatal(msg: string | Error, ...args: any[])
:记录 FATAL 级别的日志。
除了以上方法,还可以通过 app.getLogger(name)
方法创建自定义命名空间的 logger 对象。例如:
const myLogger = app.getLogger('myNamespace'); myLogger.info('Hello, world!');
总结
egg-logger
是一款非常方便的日志库,可以帮助我们记录各种级别的日志,并且支持多种输出格式。在 Egg.js 项目中使用 egg-logger
,不仅能够提高开发效率,同时也能够更好地管理日志信息,便于排查问题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/45121