chore: 完善日志库。可维护比性能更重要。
This commit is contained in:
parent
b3ed0b7429
commit
9a59bf88dd
@ -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
|
||||
|
@ -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
|
||||
|
30
logger/init.go
Normal file
30
logger/init.go
Normal file
@ -0,0 +1,30 @@
|
||||
//
|
||||
// init.go
|
||||
// Copyright (C) 2023 tiglog <me@tiglog.com>
|
||||
//
|
||||
// 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
|
||||
}
|
@ -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
|
||||
})
|
||||
|
@ -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")
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user