main.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package main
  2. import (
  3. "fmt"
  4. "git.swzry.com/zry/YAGTF/yagtf/tfelem"
  5. "git.swzry.com/zry/YAGTF/yagtf/timefmt"
  6. "time"
  7. )
  8. func main() {
  9. printer := timefmt.NewTimePrinterEx()
  10. parser := timefmt.NewFormatParser(true)
  11. parser.AddExDataTag("level", func() timefmt.TimeElementEx {
  12. return tfelem.NewExDataElement(4, "level")
  13. })
  14. parser.AddExDataTag("app", func() timefmt.TimeElementEx {
  15. return tfelem.NewExDataElement(64, "app")
  16. })
  17. parser.AddExDataTag("msg", func() timefmt.TimeElementEx {
  18. return tfelem.NewExDataElement(2048, "msg")
  19. })
  20. tf := timefmt.NewTimeFormatterEx(printer, parser, false)
  21. tf.ParseFormat("![<y>-<mon>-<d> <h24>:<min>:<s> <tz> <tzA>] <lt><level><gt> <app> : <msg>")
  22. logtest(tf, "INFO", "test1.app", "hello, world")
  23. logtest(tf, "WARN", "test2.app", "hello, gensokyo")
  24. logtest(tf, "INFO", "test3.app", "the quick brown fox jumps over a lazy dog.")
  25. logtest(tf, "INFO", "test4.app", "Unicode Test With Emoji 1:☁⚡🪁🗝️👨, 👨💡, 📍✔️. ⛪❌📍. ☁⚡, ☁⚡⛪, ⛪🔥, 🏢️📍✔️.")
  26. logtest(tf, "INFO", "test5.app", "Unicode Test With Emoji 2:🇨🇳, 1980 < 📅 < 2015, 👶✖️1 = ✔️; 📅 > 2015, 👶✖️2 = ✔️.")
  27. logtest(tf, "INFO", "test6.app", "Unicode Test With Emoji 3:👦✂🔌, ⚡👦, 🚑🏥, 😷💉, 😷😱, 👦☠️. 👵🏽😭, 💴⚰️, 👮⚰️❌, 🔥💀->⚱️✔️.")
  28. logtest(tf, "INFO", "test7.app", "Unicode Test With Emoji 4:👦🚬🚄, 👮🚭, 💴, 👦👿, 👦💣💥🚔, 👮😱, 👮🔫👦, 👦☠️.")
  29. logtest(tf, "INFO", "test8.app", "Unicode Test With Chinese and Emoji: 魔理沙偷走了重要的📚, 帕秋莉👿.")
  30. }
  31. func logtest(tf *timefmt.TimeFormatterEx, level string, app string, msg string) {
  32. exdata := make(map[string]string)
  33. exdata["level"] = level
  34. exdata["app"] = app
  35. exdata["msg"] = msg
  36. fmt.Println(tf.Format(time.Now(), exdata))
  37. }