1
0

logger.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package singbridge
  2. import (
  3. "context"
  4. "github.com/sagernet/sing/common/logger"
  5. "github.com/xtls/xray-core/common/errors"
  6. "github.com/xtls/xray-core/common/session"
  7. )
  8. var _ logger.ContextLogger = (*XrayLogger)(nil)
  9. type XrayLogger struct {
  10. newError func(values ...any) *errors.Error
  11. }
  12. func NewLogger(newErrorFunc func(values ...any) *errors.Error) *XrayLogger {
  13. return &XrayLogger{
  14. newErrorFunc,
  15. }
  16. }
  17. func (l *XrayLogger) Trace(args ...any) {
  18. }
  19. func (l *XrayLogger) Debug(args ...any) {
  20. l.newError(args...).AtDebug().WriteToLog()
  21. }
  22. func (l *XrayLogger) Info(args ...any) {
  23. l.newError(args...).AtInfo().WriteToLog()
  24. }
  25. func (l *XrayLogger) Warn(args ...any) {
  26. l.newError(args...).AtWarning().WriteToLog()
  27. }
  28. func (l *XrayLogger) Error(args ...any) {
  29. l.newError(args...).AtError().WriteToLog()
  30. }
  31. func (l *XrayLogger) Fatal(args ...any) {
  32. }
  33. func (l *XrayLogger) Panic(args ...any) {
  34. }
  35. func (l *XrayLogger) TraceContext(ctx context.Context, args ...any) {
  36. }
  37. func (l *XrayLogger) DebugContext(ctx context.Context, args ...any) {
  38. l.newError(args...).AtDebug().WriteToLog(session.ExportIDToError(ctx))
  39. }
  40. func (l *XrayLogger) InfoContext(ctx context.Context, args ...any) {
  41. l.newError(args...).AtInfo().WriteToLog(session.ExportIDToError(ctx))
  42. }
  43. func (l *XrayLogger) WarnContext(ctx context.Context, args ...any) {
  44. l.newError(args...).AtWarning().WriteToLog(session.ExportIDToError(ctx))
  45. }
  46. func (l *XrayLogger) ErrorContext(ctx context.Context, args ...any) {
  47. l.newError(args...).AtError().WriteToLog(session.ExportIDToError(ctx))
  48. }
  49. func (l *XrayLogger) FatalContext(ctx context.Context, args ...any) {
  50. }
  51. func (l *XrayLogger) PanicContext(ctx context.Context, args ...any) {
  52. }