actor_logger.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package cherryApp
  2. import (
  3. "fmt"
  4. clog "github.com/cherry-game/cherry/logger"
  5. "github.com/cherry-game/cherry/net/parser/pomelo"
  6. "go.uber.org/zap/zapcore"
  7. )
  8. // actor专属日志打印
  9. type ActorLogger struct {
  10. pomelo.ActorBase
  11. logger *clog.CherryLogger // logger
  12. prefix string // logger prefix
  13. }
  14. func NewLoggerPrefix(prefixKey, prefixValue interface{}) ActorLogger {
  15. return ActorLogger{
  16. logger: clog.DefaultLogger,
  17. prefix: fmt.Sprintf("[%s = %v] ", prefixKey, prefixValue),
  18. }
  19. }
  20. func NewLogger(logger *clog.CherryLogger, prefix string) ActorLogger {
  21. return ActorLogger{
  22. logger: logger,
  23. prefix: prefix,
  24. }
  25. }
  26. func (p *ActorLogger) SetPrefix(prefix string) {
  27. p.prefix = prefix
  28. }
  29. func (p *ActorLogger) Destory() {
  30. p.logger = nil
  31. }
  32. func (p *ActorLogger) Debug(template string, args ...interface{}) {
  33. if !clog.PrintLevel(zapcore.DebugLevel) {
  34. return
  35. }
  36. if len(args) > 0 {
  37. p.logger.Debug(p.prefix, fmt.Sprintf(template, args...))
  38. } else {
  39. p.logger.Debug(p.prefix, template)
  40. }
  41. }
  42. func (p *ActorLogger) Info(template string, args ...interface{}) {
  43. if !clog.PrintLevel(zapcore.InfoLevel) {
  44. return
  45. }
  46. if len(args) > 0 {
  47. p.logger.Info(p.prefix, fmt.Sprintf(template, args...))
  48. } else {
  49. p.logger.Info(p.prefix, template)
  50. }
  51. }
  52. func (p *ActorLogger) Warn(template string, args ...interface{}) {
  53. if !clog.PrintLevel(zapcore.WarnLevel) {
  54. return
  55. }
  56. if len(args) > 0 {
  57. p.logger.Warn(p.prefix, fmt.Sprintf(template, args...))
  58. } else {
  59. p.logger.Warn(p.prefix, template)
  60. }
  61. }
  62. func (p *ActorLogger) Error(template string, args ...interface{}) {
  63. if !clog.PrintLevel(zapcore.ErrorLevel) {
  64. return
  65. }
  66. if len(args) > 0 {
  67. p.logger.Error(p.prefix, fmt.Sprintf(template, args...))
  68. } else {
  69. p.logger.Error(p.prefix, template)
  70. }
  71. }