From f7a9be42925d4346029b770760c1640353284ca2 Mon Sep 17 00:00:00 2001 From: Jack Date: Thu, 30 Jul 2020 21:09:45 +0800 Subject: [PATCH] improve package glog for rotation feature --- os/glog/glog_logger.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/os/glog/glog_logger.go b/os/glog/glog_logger.go index 6054a3553..840f73e83 100644 --- a/os/glog/glog_logger.go +++ b/os/glog/glog_logger.go @@ -33,7 +33,7 @@ import ( type Logger struct { rmu sync.Mutex // Mutex for rotation feature. ctx context.Context // Context for logging. - init gtype.Bool // Initialized. + init *gtype.Bool // Initialized. parent *Logger // Parent logger, if it is not empty, it means the logger is used in chaining function. config Config // Logger configuration. } @@ -60,6 +60,7 @@ const ( // New creates and returns a custom logger. func New() *Logger { logger := &Logger{ + init: gtype.NewBool(), config: DefaultConfig(), } return logger @@ -75,10 +76,11 @@ func NewWithWriter(writer io.Writer) *Logger { // Clone returns a new logger, which is the clone the current logger. // It's commonly used for chaining operations. func (l *Logger) Clone() *Logger { - logger := Logger{} - logger = *l + logger := New() + logger.ctx = l.ctx + logger.config = l.config logger.parent = l - return &logger + return logger } // getFilePath returns the logging file path.