forked from free-lancers/electricity_bill_calc_service
合并分支
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"electricity_bill_calc/types"
|
||||
"os"
|
||||
|
||||
"github.com/shopspring/decimal"
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
)
|
||||
@@ -40,7 +42,7 @@ func init() {
|
||||
|
||||
logger = zap.New(core).Named("App")
|
||||
sugaredLogger = logger.Sugar()
|
||||
logger.Info("Logger initialized.")
|
||||
logger.Info("日志系统初始化完成。")
|
||||
}
|
||||
|
||||
func GetLogger() *zap.Logger {
|
||||
@@ -130,3 +132,53 @@ func With(fields ...zap.Field) *zap.Logger {
|
||||
func WithSugar(fields ...zap.Field) *zap.SugaredLogger {
|
||||
return logger.With(fields...).Sugar()
|
||||
}
|
||||
|
||||
func DecimalField(key string, val decimal.Decimal) zap.Field {
|
||||
return zap.String(key, val.String())
|
||||
}
|
||||
|
||||
func DecimalFieldp(key string, val *decimal.Decimal) zap.Field {
|
||||
if val == nil {
|
||||
return zap.Stringp(key, nil)
|
||||
}
|
||||
return DecimalField(key, *val)
|
||||
}
|
||||
|
||||
func NullDecimalField(key string, val decimal.NullDecimal) zap.Field {
|
||||
if val.Valid {
|
||||
return DecimalField(key, val.Decimal)
|
||||
}
|
||||
return zap.Stringp(key, nil)
|
||||
}
|
||||
|
||||
func NullDecimalFieldp(key string, val *decimal.NullDecimal) zap.Field {
|
||||
if val == nil {
|
||||
return zap.Stringp(key, nil)
|
||||
}
|
||||
if val.Valid {
|
||||
return DecimalField(key, val.Decimal)
|
||||
}
|
||||
return zap.Stringp(key, nil)
|
||||
}
|
||||
|
||||
func DateField(key string, val types.Date) zap.Field {
|
||||
return val.Log(key)
|
||||
}
|
||||
|
||||
func DateFieldp(key string, val *types.Date) zap.Field {
|
||||
if val == nil {
|
||||
return zap.Stringp(key, nil)
|
||||
}
|
||||
return DateField(key, *val)
|
||||
}
|
||||
|
||||
func DateTimeField(key string, val types.DateTime) zap.Field {
|
||||
return val.Log(key)
|
||||
}
|
||||
|
||||
func DateTimeFieldp(key string, val *types.DateTime) zap.Field {
|
||||
if val == nil {
|
||||
return zap.Stringp(key, nil)
|
||||
}
|
||||
return DateTimeField(key, *val)
|
||||
}
|
||||
|
||||
@@ -62,9 +62,13 @@ func NewLogMiddleware(config LogMiddlewareConfig) fiber.Handler {
|
||||
fields := []zap.Field{
|
||||
zap.Namespace("context"),
|
||||
zap.String("pid", strconv.Itoa(os.Getpid())),
|
||||
zap.String("method", c.Method()),
|
||||
zap.String("remote", c.IP()),
|
||||
zap.Strings("forwarded", c.IPs()),
|
||||
zap.String("url", c.OriginalURL()),
|
||||
zap.String("time", stop.Sub(start).String()),
|
||||
zap.Object("response", Resp(c.Response())),
|
||||
zap.Object("request", Req(c)),
|
||||
// zap.Object("response", Resp(c.Response())),
|
||||
// zap.Object("request", Req(c)),
|
||||
}
|
||||
|
||||
if u := c.Locals("userId"); u != nil {
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"math"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"gopkg.in/natefinch/lumberjack.v2"
|
||||
)
|
||||
@@ -14,10 +17,11 @@ func newRollingWriter() io.Writer {
|
||||
return nil
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
return &lumberjack.Logger{
|
||||
Filename: "log/service.log",
|
||||
MaxBackups: 366 * 10, // files
|
||||
MaxSize: 200, // megabytes
|
||||
MaxAge: 366 * 10, // days
|
||||
Filename: fmt.Sprintf("log/service_%s.log", now.Format("2006-01-02_15")),
|
||||
MaxBackups: math.MaxInt, // files
|
||||
MaxSize: 200, // megabytes
|
||||
MaxAge: math.MaxInt, // days
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user