graylog.go 800 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package graylog
  2. import (
  3. "encoding/json"
  4. "github.com/robertkowalski/graylog-golang"
  5. )
  6. var grayLog *gelf.Gelf
  7. func init() {
  8. grayLog = gelf.New(gelf.Config{
  9. GraylogPort: 62001,
  10. GraylogHostname: "172.18.138.7",
  11. Connection: "wan",
  12. MaxChunkSizeWan: 42,
  13. MaxChunkSizeLan: 1337,
  14. })
  15. }
  16. func Log(log interface{}) {
  17. logStr, _ := json.Marshal(log)
  18. grayLog.Log(string(logStr))
  19. }
  20. func LogApi(shortMsg string, desc string, extraDesc string, reqSource string) {
  21. grayLogData := struct {
  22. ShortMessage string `json:"short_message"`
  23. ReqSource string `json:"req_source"`
  24. AdsDetail string `json:"ads_detail"`
  25. AdsExtraDetail string `json:"ads_extra_detail"`
  26. }{
  27. ShortMessage: shortMsg,
  28. ReqSource: reqSource,
  29. AdsDetail: desc,
  30. AdsExtraDetail: extraDesc,
  31. }
  32. Log(grayLogData)
  33. }