Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/logger
diff options
context:
space:
mode:
authorMHSanaei <ho3ein.sanaei@gmail.com>2023-05-23 02:13:15 +0300
committerMHSanaei <ho3ein.sanaei@gmail.com>2023-05-23 02:13:15 +0300
commitc38e1e0cfe9fd95f1cd2ed5f6c6cb10bf820b9b6 (patch)
tree6bfc79026a489ae9095cc69a1425a9125112cd1c /logger
parentf36034541e3b400c44347e6c73f013224697aa6f (diff)
a lot of improvement
Diffstat (limited to 'logger')
-rw-r--r--logger/logger.go47
1 files changed, 37 insertions, 10 deletions
diff --git a/logger/logger.go b/logger/logger.go
index 405f2ec7..f5b0a878 100644
--- a/logger/logger.go
+++ b/logger/logger.go
@@ -2,17 +2,28 @@ package logger
import (
"os"
+ "sync"
"github.com/op/go-logging"
)
-var logger *logging.Logger
+var (
+ logger *logging.Logger
+ mu sync.Mutex
+)
func init() {
InitLogger(logging.INFO)
}
func InitLogger(level logging.Level) {
+ mu.Lock()
+ defer mu.Unlock()
+
+ if logger != nil {
+ return
+ }
+
format := logging.MustStringFormatter(
`%{time:2006/01/02 15:04:05} %{level} - %{message}`,
)
@@ -21,39 +32,55 @@ func InitLogger(level logging.Level) {
backendFormatter := logging.NewBackendFormatter(backend, format)
backendLeveled := logging.AddModuleLevel(backendFormatter)
backendLeveled.SetLevel(level, "")
- newLogger.SetBackend(backendLeveled)
+ newLogger.SetBackend(logging.MultiLogger(backendLeveled))
logger = newLogger
}
func Debug(args ...interface{}) {
- logger.Debug(args...)
+ if logger != nil {
+ logger.Debug(args...)
+ }
}
func Debugf(format string, args ...interface{}) {
- logger.Debugf(format, args...)
+ if logger != nil {
+ logger.Debugf(format, args...)
+ }
}
func Info(args ...interface{}) {
- logger.Info(args...)
+ if logger != nil {
+ logger.Info(args...)
+ }
}
func Infof(format string, args ...interface{}) {
- logger.Infof(format, args...)
+ if logger != nil {
+ logger.Infof(format, args...)
+ }
}
func Warning(args ...interface{}) {
- logger.Warning(args...)
+ if logger != nil {
+ logger.Warning(args...)
+ }
}
func Warningf(format string, args ...interface{}) {
- logger.Warningf(format, args...)
+ if logger != nil {
+ logger.Warningf(format, args...)
+ }
}
func Error(args ...interface{}) {
- logger.Error(args...)
+ if logger != nil {
+ logger.Error(args...)
+ }
}
func Errorf(format string, args ...interface{}) {
- logger.Errorf(format, args...)
+ if logger != nil {
+ logger.Errorf(format, args...)
+ }
}