package hiedabke_writer import ( "fmt" "git.swzry.com/zry/GoHiedaLogger/hiedalog" "io" ) type HiedaBackendWriter struct { writer io.Writer stringFormatter HiedaStringLogFormatter complexFormatter HiedaComplexLogFormatter } func NewHiedaBackendWriter(writer io.Writer) *HiedaBackendWriter { return &HiedaBackendWriter{ writer: writer, complexFormatter: &HiedaComplexLogJsonFormatter{}, stringFormatter: &HiedaStringLogDefaultFormatter{}, } } func (b *HiedaBackendWriter) SetStringFormatter(f HiedaStringLogFormatter) { b.stringFormatter = f } func (b *HiedaBackendWriter) SetComplexFormatter(f HiedaComplexLogFormatter) { b.complexFormatter = f } func (b *HiedaBackendWriter) EmitStringLog(module string, level hiedalog.HiedaLogLevel, content string) { _, _ = fmt.Fprintln(b.writer, b.stringFormatter.FormatHiedaStringLog(module, level.Name, content)) } func (b *HiedaBackendWriter) EmitComplexLog(module string, level hiedalog.HiedaLogLevel, data map[string]string) { _, _ = fmt.Fprintln(b.writer, b.complexFormatter.FormatHiedaComplexLog(module, level.Name, data)) }