29 lines
993 B
Go
29 lines
993 B
Go
package proposal
|
|
|
|
import (
|
|
"encoding/json"
|
|
)
|
|
|
|
// AlertMessage 告警信息
|
|
type AlertMessage struct {
|
|
ProjectName string `json:"project_name"` // 项目名称
|
|
Env string `json:"env"` // 运行环境
|
|
UID string `json:"uid"` // 用户标示
|
|
TraceID string `json:"trace_id"` // 当前请求的唯一ID
|
|
HOST string `json:"host"` // 当前请求的 HOST
|
|
URI string `json:"uri"` // 当前请求的 URI
|
|
Method string `json:"method"` // 当前请求的 Method
|
|
ErrorMessage interface{} `json:"error_message"` // 错误信息
|
|
ErrorStack string `json:"error_stack"` // 堆栈信息
|
|
Time string `json:"time"` // 发生时间
|
|
}
|
|
|
|
// Marshal 序列化到JSON
|
|
func (a *AlertMessage) Marshal() (jsonRaw []byte) {
|
|
jsonRaw, _ = json.Marshal(a)
|
|
return
|
|
}
|
|
|
|
// AlertHandler 告警处理的句柄
|
|
type AlertHandler func(msg *AlertMessage)
|