高热共公日志库
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.

70 lines
1.6 KiB

  1. package grlogs
  2. import (
  3. "fmt"
  4. "github.com/astaxie/beego/logs"
  5. "os"
  6. "path"
  7. )
  8. var adatperMapper = map[Adapter]func(l *Logger, level Level) error{
  9. AdapterFile: func(l *Logger, level Level) 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 Level) error {
  26. c := ConsoleLogConfig{Level: level}
  27. return l.SetLogger(logs.AdapterConsole, c.String())
  28. },
  29. AdapterElasticSearch: func(l *Logger, level Level) error {
  30. dsn := "http://es-cn-0pp1mm3hq000dnbh4.public.elasticsearch.aliyuncs.com:9200/"
  31. if os.Getenv(envkey) == "prod" || os.Getenv(envkey) == "" || os.Getenv(envkey) == "gray" {
  32. dsn = "http://es-cn-0pp1mm3hq000dnbh4.elasticsearch.aliyuncs.com:9200/"
  33. }
  34. c := EsConfig{
  35. Username: "elastic",
  36. Password: "Hellogaore@",
  37. Dsn: dsn,
  38. Level: level,
  39. Index: os.Getenv("GRLOG_APP_NAME"),
  40. }
  41. return l.SetLogger(logs.AdapterEs, c.String())
  42. },
  43. AdapterAliLs: func(l *Logger, level Level) error {
  44. c := AliLSConfig{
  45. Project: "gaore-app-logstore",
  46. Endpoint: "gaore-app-logstore.cn-shenzhen.log.aliyuncs.com",
  47. KeyID: "LTAI4GCHwcqtrFD4DHRHxR4k",
  48. KeySecret: "Ln19xfVYy6OMlJeF9aBvFl4fhRUKBl",
  49. LogStore: "gaore-app-logstore",
  50. Topics: nil,
  51. Source: "",
  52. Level: level,
  53. FlushWhen: 0,
  54. }
  55. return l.SetLogger(logs.AdapterAliLS, c.String())
  56. },
  57. }