hiedabke_write.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package hiedabke_writer
  2. import (
  3. "fmt"
  4. "git.swzry.com/zry/GoHiedaLogger/hiedalog"
  5. "io"
  6. )
  7. type HiedaBackendWriter struct {
  8. writer io.Writer
  9. stringFormatter HiedaStringLogFormatter
  10. complexFormatter HiedaComplexLogFormatter
  11. }
  12. func NewHiedaBackendWriter(writer io.Writer) *HiedaBackendWriter {
  13. return &HiedaBackendWriter{
  14. writer: writer,
  15. complexFormatter: &HiedaComplexLogJsonFormatter{},
  16. stringFormatter: &HiedaStringLogDefaultFormatter{},
  17. }
  18. }
  19. func (b *HiedaBackendWriter) SetStringFormatter(f HiedaStringLogFormatter) {
  20. b.stringFormatter = f
  21. }
  22. func (b *HiedaBackendWriter) SetComplexFormatter(f HiedaComplexLogFormatter) {
  23. b.complexFormatter = f
  24. }
  25. func (b *HiedaBackendWriter) EmitStringLog(module string, level hiedalog.HiedaLogLevel, content string) {
  26. _, _ = fmt.Fprintln(b.writer, b.stringFormatter.FormatHiedaStringLog(module, level.Name, content))
  27. }
  28. func (b *HiedaBackendWriter) EmitComplexLog(module string, level hiedalog.HiedaLogLevel, data map[string]string) {
  29. _, _ = fmt.Fprintln(b.writer, b.complexFormatter.FormatHiedaComplexLog(module, level.Name, data))
  30. }