log.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package public
  2. import (
  3. "context"
  4. "github.com/e421083458/golang_common/lib"
  5. "github.com/gin-gonic/gin"
  6. )
  7. //错误日志
  8. func ContextWarning(c context.Context, dltag string, m map[string]interface{}) {
  9. v := c.Value("trace")
  10. traceContext, ok := v.(*lib.TraceContext)
  11. if !ok {
  12. traceContext = lib.NewTrace()
  13. }
  14. lib.Log.TagWarn(traceContext, dltag, m)
  15. }
  16. //错误日志
  17. func ContextError(c context.Context, dltag string, m map[string]interface{}) {
  18. v := c.Value("trace")
  19. traceContext, ok := v.(*lib.TraceContext)
  20. if !ok {
  21. traceContext = lib.NewTrace()
  22. }
  23. lib.Log.TagError(traceContext, dltag, m)
  24. }
  25. //普通日志
  26. func ContextNotice(c context.Context, dltag string, m map[string]interface{}) {
  27. v := c.Value("trace")
  28. traceContext, ok := v.(*lib.TraceContext)
  29. if !ok {
  30. traceContext = lib.NewTrace()
  31. }
  32. lib.Log.TagInfo(traceContext, dltag, m)
  33. }
  34. //错误日志
  35. func ComLogWarning(c *gin.Context, dltag string, m map[string]interface{}) {
  36. traceContext := GetGinTraceContext(c)
  37. lib.Log.TagError(traceContext, dltag, m)
  38. }
  39. //普通日志
  40. func ComLogNotice(c *gin.Context, dltag string, m map[string]interface{}) {
  41. traceContext := GetGinTraceContext(c)
  42. lib.Log.TagInfo(traceContext, dltag, m)
  43. }
  44. // 从gin的Context中获取数据
  45. func GetGinTraceContext(c *gin.Context) *lib.TraceContext {
  46. // 防御
  47. if c == nil {
  48. return lib.NewTrace()
  49. }
  50. traceContext, exists := c.Get("trace")
  51. if exists {
  52. if tc, ok := traceContext.(*lib.TraceContext); ok {
  53. return tc
  54. }
  55. }
  56. return lib.NewTrace()
  57. }
  58. // 从Context中获取数据
  59. func GetTraceContext(c context.Context) *lib.TraceContext {
  60. if c == nil {
  61. return lib.NewTrace()
  62. }
  63. traceContext := c.Value("trace")
  64. if tc, ok := traceContext.(*lib.TraceContext); ok {
  65. return tc
  66. }
  67. return lib.NewTrace()
  68. }