add logger
This commit is contained in:
parent
fda22acffe
commit
a5f4d48aad
5 changed files with 88 additions and 0 deletions
57
server/services/logger/logger.go
Normal file
57
server/services/logger/logger.go
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
package logger
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/natefinch/lumberjack"
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
)
|
||||
|
||||
var (
|
||||
log_inst = NewLogger()
|
||||
log_file_config = zapcore.AddSync(&lumberjack.Logger{
|
||||
Filename: "services/logger/serverlog.log",
|
||||
MaxSize: 500, // megabytes
|
||||
MaxBackups: 3,
|
||||
MaxAge: 28, //days
|
||||
})
|
||||
json_enc = zapcore.NewJSONEncoder(zapcore.EncoderConfig{
|
||||
TimeKey: "timestamp",
|
||||
LevelKey: "level",
|
||||
NameKey: "logger",
|
||||
EncodeLevel: zapcore.LowercaseLevelEncoder,
|
||||
EncodeTime: zapcore.ISO8601TimeEncoder,
|
||||
})
|
||||
console_enc = zapcore.NewConsoleEncoder(zapcore.EncoderConfig{
|
||||
TimeKey: "timestamp",
|
||||
LevelKey: "level",
|
||||
NameKey: "logger",
|
||||
CallerKey: "caller",
|
||||
MessageKey: "message",
|
||||
StacktraceKey: "error",
|
||||
EncodeLevel: zapcore.CapitalColorLevelEncoder,
|
||||
EncodeTime: zapcore.ISO8601TimeEncoder,
|
||||
})
|
||||
)
|
||||
|
||||
func createLogggerConfig() *zap.Logger {
|
||||
log_level := zap.NewAtomicLevelAt(zap.InfoLevel)
|
||||
|
||||
log_core := zapcore.NewTee(
|
||||
zapcore.NewCore(json_enc, log_file_config, log_level),
|
||||
zapcore.NewCore(console_enc, zapcore.AddSync(os.Stdout), log_level),
|
||||
)
|
||||
|
||||
return zap.New(log_core)
|
||||
}
|
||||
|
||||
func NewLogger() *zap.Logger {
|
||||
log := createLogggerConfig()
|
||||
defer log.Sync()
|
||||
return log
|
||||
}
|
||||
|
||||
func GetInstance() *zap.Logger {
|
||||
return log_inst
|
||||
}
|
||||
6
server/services/logger/serverlog.log
Normal file
6
server/services/logger/serverlog.log
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{"level":"info","timestamp":"2023-09-22T10:58:35.135+0700","addr":":8080"}
|
||||
{"level":"info","timestamp":"2023-09-22T10:58:47.594+0700","user":"pakin tadatanasakul"}
|
||||
{"level":"info","timestamp":"2023-09-22T10:59:55.661+0700","user":"pakin tadatanasakul"}
|
||||
{"level":"info","timestamp":"2023-09-22T10:59:59.995+0700","user":"pakin tadatanasakul"}
|
||||
{"level":"info","timestamp":"2023-09-22T11:00:00.056+0700","user":"pakin tadatanasakul"}
|
||||
{"level":"info","timestamp":"2023-09-22T11:00:07.558+0700","user":"pakin tadatanasakul"}
|
||||
Loading…
Add table
Add a link
Reference in a new issue