Skip to content

log — 日志 ​

log 模块提供了多级别日志记录功能,支持结构化日志。

引入方式 ​

javascript
var log = require("log")

基本日志 ​

Debug — 调试日志 ​

javascript
log.Debug("调试信息")

Info — 信息日志 ​

javascript
log.Info("用户已登录")

Warn — 警告日志 ​

javascript
log.Warn("数据库连接速度较慢")

Error — 错误日志 ​

javascript
log.Error("数据库连接失败")

Fatal — 致命错误日志 ​

javascript
log.Fatal("系统崩溃")

格式化日志 ​

javascript
log.Infof("用户 %s 登录成功,IP: %s", username, ip)
log.Warnf("内存使用率: %d%%", usage)
log.Errorf("查询失败: %v", err)
log.Debugf("请求参数: %+v", params)

结构化日志 ​

With — 创建日志条目 ​

javascript
log.With().Str("module", "auth").Str("user", "admin").Msg("登录成功")

WithFields — 批量字段 ​

javascript
log.WithFields({
    module: "auth",
    user: "admin",
    ip: "192.168.1.1"
}).Msg("登录成功")

WithError — 错误字段 ​

javascript
log.WithError(err).Msg("操作失败")

日志级别控制 ​

SetLevel — 设置日志级别 ​

javascript
log.SetLevel("debug")  // debug / info / warn / error / fatal

GetLevel — 获取当前日志级别 ​

javascript
var level = log.GetLevel()

Output — 获取缓冲区日志 ​

javascript
var output = log.Output()

完整示例 ​

javascript
var log = require("log")

// 基本日志
log.Info("服务启动")
log.Debug("请求参数: " + JSON.stringify(request.All()))
log.Warn("配置项缺失,使用默认值")
log.Error("数据库连接失败")

// 格式化日志
log.Infof("处理请求: %s %s", request.Method(), request.URL())

// 结构化日志
log.WithFields({
    action: "user_login",
    username: "admin",
    ip: request.IP()
}).Msg("用户登录")

// 错误日志
try {
    var result = db.Select("SELECT * FROM users")
} catch (e) {
    log.WithError(e).Msg("查询用户失败")
}

版权所有.