mirror of
https://github.com/alibaba/higress.git
synced 2026-06-09 12:47:28 +08:00
更新waf插件,丰富规则命中时日志内容 (#537)
This commit is contained in:
47
plugins/wasm-go/extensions/waf/wasmplugin/logger.go
Normal file
47
plugins/wasm-go/extensions/waf/wasmplugin/logger.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package wasmplugin
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
"github.com/corazawaf/coraza/v3/debuglog"
|
||||
"github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm"
|
||||
)
|
||||
|
||||
type logger struct {
|
||||
debuglog.Logger
|
||||
}
|
||||
|
||||
var _ debuglog.Logger = logger{}
|
||||
|
||||
var logPrinterFactory = func(io.Writer) debuglog.Printer {
|
||||
return func(lvl debuglog.Level, message, fields string) {
|
||||
switch lvl {
|
||||
case debuglog.LevelTrace:
|
||||
proxywasm.LogTracef("%s %s", message, fields)
|
||||
case debuglog.LevelDebug:
|
||||
proxywasm.LogDebugf("%s %s", message, fields)
|
||||
case debuglog.LevelInfo:
|
||||
proxywasm.LogInfof("%s %s", message, fields)
|
||||
case debuglog.LevelWarn:
|
||||
proxywasm.LogWarnf("%s %s", message, fields)
|
||||
case debuglog.LevelError:
|
||||
proxywasm.LogErrorf("%s %s", message, fields)
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func DefaultLogger() debuglog.Logger {
|
||||
return logger{
|
||||
debuglog.DefaultWithPrinterFactory(logPrinterFactory),
|
||||
}
|
||||
}
|
||||
|
||||
func (l logger) WithLevel(lvl debuglog.Level) debuglog.Logger {
|
||||
return logger{l.Logger.WithLevel(lvl)}
|
||||
}
|
||||
|
||||
func (l logger) WithOutput(_ io.Writer) debuglog.Logger {
|
||||
proxywasm.LogWarn("Ignoring SecDebugLog directive, debug logs are always routed to proxy logs")
|
||||
return l
|
||||
}
|
||||
Reference in New Issue
Block a user