高热共公日志库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.0 KiB

  1. package grlogs
  2. import (
  3. "fmt"
  4. "github.com/astaxie/beego/logs"
  5. "os"
  6. "path"
  7. )
  8. var adatperMapper = map[string]func(l *Logger, level int) error{
  9. AdapterFile: func(l *Logger, level int) error {
  10. if wd, err := os.Getwd(); err == nil {
  11. c := FileLogConfig{
  12. Filename: path.Join(wd, fmt.Sprintf("runtime/logs/%s.log", l.Lable)),
  13. Level: level,
  14. Maxlines: 0,
  15. Daily: true,
  16. Maxdays: 7,
  17. Color: true,
  18. Rotate: true,
  19. }
  20. return l.SetLogger(logs.AdapterFile, c.String())
  21. } else {
  22. return err
  23. }
  24. },
  25. AdapterConsole: func(l *Logger, level int) error {
  26. c := ConsoleLogConfig{Level: level}
  27. return l.SetLogger(logs.AdapterConsole, c.String())
  28. },
  29. AdapterElasticSearch: func(l *Logger, level int) error {
  30. dsn := "http://es-cn-0pp1mm3hq000dnbh4.public.elasticsearch.aliyuncs.com:9200/"
  31. if envkey == "prod" || envkey == "" {
  32. dsn = "http://es-cn-0pp1mm3hq000dnbh4.public.elasticsearch.aliyuncs.com:9200/"
  33. }
  34. c := EsConfig{
  35. Dsn: dsn,
  36. Level: level,
  37. }
  38. return l.SetLogger(logs.AdapterEs, c.String())
  39. },
  40. }