From 9a59bf88ddde289de479a5715cbebaf199aac4ed Mon Sep 17 00:00:00 2001 From: tiglog Date: Fri, 14 Jul 2023 16:03:51 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=AE=8C=E5=96=84=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=BA=93=E3=80=82=E5=8F=AF=E7=BB=B4=E6=8A=A4=E6=AF=94=E6=80=A7?= =?UTF-8?q?=E8=83=BD=E6=9B=B4=E9=87=8D=E8=A6=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logger/access.go | 8 +++----- logger/console.go | 8 +++----- logger/init.go | 30 ++++++++++++++++++++++++++++++ logger/log.go | 12 +++--------- logger/log_test.go | 4 +++- logger/recover.go | 6 ++---- logger/work.go | 9 +++------ 7 files changed, 47 insertions(+), 30 deletions(-) create mode 100644 logger/init.go diff --git a/logger/access.go b/logger/access.go index a25203f..d97122e 100644 --- a/logger/access.go +++ b/logger/access.go @@ -10,11 +10,9 @@ package logger import ( "os" "sync" - "time" "github.com/natefinch/lumberjack" "github.com/rs/zerolog" - "github.com/rs/zerolog/pkgerrors" ) var access_once sync.Once @@ -29,8 +27,6 @@ func SetupAccessLogFile(path string) { func Access() *zerolog.Logger { access_once.Do(func() { - zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack - zerolog.TimeFieldFormat = time.RFC3339Nano fileLogger := &lumberjack.Logger{ Filename: access_log_path, @@ -43,9 +39,11 @@ func Access() *zerolog.Logger { output := zerolog.MultiLevelWriter(os.Stderr, fileLogger) l := zerolog.New(output). - Level(zerolog.InfoLevel). + Level(loggerLevel). With(). Timestamp(). + Stack(). + CallerWithSkipFrameCount(2). Logger() access_log = &l diff --git a/logger/console.go b/logger/console.go index b9b520c..cdcb4f8 100644 --- a/logger/console.go +++ b/logger/console.go @@ -10,11 +10,9 @@ package logger import ( "os" "sync" - "time" "github.com/natefinch/lumberjack" "github.com/rs/zerolog" - "github.com/rs/zerolog/pkgerrors" ) var console_once sync.Once @@ -29,8 +27,6 @@ func SetupConsoleLogFile(path string) { func Console() *zerolog.Logger { console_once.Do(func() { - zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack - zerolog.TimeFieldFormat = time.RFC3339Nano fileLogger := &lumberjack.Logger{ Filename: console_log_path, @@ -43,9 +39,11 @@ func Console() *zerolog.Logger { output := zerolog.MultiLevelWriter(os.Stderr, fileLogger) l := zerolog.New(output). - Level(zerolog.InfoLevel). + Level(loggerLevel). With(). Timestamp(). + Stack(). + CallerWithSkipFrameCount(2). Logger() console_log = &l diff --git a/logger/init.go b/logger/init.go new file mode 100644 index 0000000..2cc72f8 --- /dev/null +++ b/logger/init.go @@ -0,0 +1,30 @@ +// +// init.go +// Copyright (C) 2023 tiglog +// +// Distributed under terms of the MIT license. +// + +package logger + +import ( + "strconv" + "time" + + "github.com/rs/zerolog" + "github.com/rs/zerolog/pkgerrors" +) + +var loggerLevel = zerolog.InfoLevel + +func init() { + zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack + zerolog.TimeFieldFormat = time.RFC3339Nano + zerolog.CallerMarshalFunc = func(pc uintptr, file string, line int) string { + return file + ":" + strconv.Itoa(line) + } +} + +func SetLevel(level zerolog.Level) { + loggerLevel = level +} diff --git a/logger/log.go b/logger/log.go index a706038..036da8f 100644 --- a/logger/log.go +++ b/logger/log.go @@ -10,31 +10,23 @@ package logger import ( "os" "sync" - "time" "github.com/natefinch/lumberjack" "github.com/rs/zerolog" - "github.com/rs/zerolog/pkgerrors" ) var once sync.Once var log_path = "./var/log/app.log" -var log_level = zerolog.InfoLevel func SetLogPath(path string) { log_path = path } -func SetLogLevel(level zerolog.Level) { - log_level = level -} var log *zerolog.Logger func Get() *zerolog.Logger { once.Do(func() { - zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack - zerolog.TimeFieldFormat = time.RFC3339Nano fileLogger := &lumberjack.Logger{ Filename: log_path, @@ -47,9 +39,11 @@ func Get() *zerolog.Logger { output := zerolog.MultiLevelWriter(os.Stderr, fileLogger) l := zerolog.New(output). - Level(log_level). + Level(loggerLevel). With(). Timestamp(). + Stack(). + CallerWithSkipFrameCount(2). Logger() log = &l }) diff --git a/logger/log_test.go b/logger/log_test.go index c01b82f..8fa05a9 100644 --- a/logger/log_test.go +++ b/logger/log_test.go @@ -8,6 +8,7 @@ package logger_test import ( + "errors" "testing" "git.hexq.cn/tiglog/golib/gtest" @@ -18,5 +19,6 @@ func TestLogToFile(t *testing.T) { // logger.SetupLog("./var/log/test.log", zerolog.DebugLevel) var log = logger.Get() gtest.NotNil(t, log) - log.Log().Msg("hello world") + err := errors.New("test error") + log.Log().Err(err).Msg("hello world") } diff --git a/logger/recover.go b/logger/recover.go index a7d8e07..d82cba8 100644 --- a/logger/recover.go +++ b/logger/recover.go @@ -10,11 +10,9 @@ package logger import ( "os" "sync" - "time" "github.com/natefinch/lumberjack" "github.com/rs/zerolog" - "github.com/rs/zerolog/pkgerrors" ) var recover_once sync.Once @@ -29,8 +27,6 @@ func SetupRecoverLogFile(path string) { func Recover() *zerolog.Logger { recover_once.Do(func() { - zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack - zerolog.TimeFieldFormat = time.RFC3339Nano fileLogger := &lumberjack.Logger{ Filename: recover_log_path, @@ -46,6 +42,8 @@ func Recover() *zerolog.Logger { // Level(zerolog.InfoLevel). With(). Timestamp(). + Stack(). + CallerWithSkipFrameCount(2). Logger() recover_log = &l diff --git a/logger/work.go b/logger/work.go index 838c3ee..ef6a8b7 100644 --- a/logger/work.go +++ b/logger/work.go @@ -10,11 +10,9 @@ package logger import ( "os" "sync" - "time" "github.com/natefinch/lumberjack" "github.com/rs/zerolog" - "github.com/rs/zerolog/pkgerrors" ) var work_once sync.Once @@ -29,9 +27,6 @@ func SetupWorkLogFile(path string) { func Work() *zerolog.Logger { work_once.Do(func() { - zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack - zerolog.TimeFieldFormat = time.RFC3339Nano - fileLogger := &lumberjack.Logger{ Filename: work_log_path, MaxSize: 5, // @@ -43,9 +38,11 @@ func Work() *zerolog.Logger { output := zerolog.MultiLevelWriter(os.Stderr, fileLogger) l := zerolog.New(output). - Level(zerolog.InfoLevel). + Level(loggerLevel). With(). Timestamp(). + Stack(). + CallerWithSkipFrameCount(2). Logger() work_log = &l