处理 ChirpStack 的 log 事件

This commit is contained in:
2025-09-24 20:26:26 +08:00
parent 17e2c6471a
commit 53dbe41d7b

View File

@@ -146,7 +146,24 @@ func (c *ChirpStackListener) handleAckEvent(event *AckEvent) {
// handleLogEvent 处理日志事件 // handleLogEvent 处理日志事件
func (c *ChirpStackListener) handleLogEvent(event *LogEvent) { func (c *ChirpStackListener) handleLogEvent(event *LogEvent) {
c.logger.Infof("接收到 'log' 事件: %+v", event) // 首先,打印完整的事件结构体,用于详细排查
c.logger.Infof("接收到 'log' 事件的完整内容: %+v", event)
// 接着,根据 ChirpStack 日志的级别,使用我们自己的 logger 对应级别来打印核心信息
logMessage := "ChirpStack 日志: [%s] %s (DevEui: %s)"
switch event.Level {
case "INFO":
c.logger.Infof(logMessage, event.Code, event.Description, event.DeviceInfo.DevEui)
case "WARNING":
c.logger.Warnf(logMessage, event.Code, event.Description, event.DeviceInfo.DevEui)
case "ERROR":
c.logger.Errorf(logMessage, event.Code, event.Description, event.DeviceInfo.DevEui)
default:
// 对于未知级别,使用 Warn 级别打印,并明确指出级别未知
c.logger.Warnf("ChirpStack 日志: [未知级别: %s] %s %s (DevEui: %s)",
event.Level, event.Code, event.Description, event.DeviceInfo.DevEui)
}
// 在这里添加您的业务逻辑 // 在这里添加您的业务逻辑
} }