mirror of
https://git.oceanpay.cc/danial/kami_scripts.git
synced 2025-12-18 22:49:25 +00:00
更新定时任务间隔,增强日志记录功能,支持同时输出到控制台和文件,调整日志字段类型,新增.gitignore和日志目录
This commit is contained in:
0
order/.gitignore
vendored
Normal file
0
order/.gitignore
vendored
Normal file
@@ -38,6 +38,7 @@ func NewOrderService(
|
||||
// ProcessOrders 处理订单
|
||||
func (s *OrderServiceImpl) ProcessOrders(ctx context.Context) error {
|
||||
for _, merchant := range s.config.Merchants {
|
||||
s.logger.Info("开始处理商户", "merchant", merchant)
|
||||
merchantInfo, err := s.repo.FindMerchantByRoadID(ctx, merchant.MerchantUid)
|
||||
if err != nil || pointer.IsNil(merchantInfo) {
|
||||
s.logger.Error("获取商户失败", "error", err)
|
||||
|
||||
@@ -10,12 +10,21 @@ import (
|
||||
// NewLogger 创建日志实例
|
||||
func NewLogger(cfg *config.Config) (*zap.Logger, error) {
|
||||
config := zap.NewProductionConfig()
|
||||
config.OutputPaths = []string{cfg.Logging.Filename}
|
||||
config.Level = zap.NewAtomicLevelAt(getLogLevel(cfg.Logging.Level))
|
||||
|
||||
// 配置日志轮转
|
||||
// 同时输出到控制台和文件
|
||||
config.OutputPaths = []string{
|
||||
"stdout", // 输出到控制台
|
||||
cfg.Logging.Filename, // 输出到文件
|
||||
}
|
||||
|
||||
// 配置日志格式
|
||||
config.EncoderConfig.TimeKey = "timestamp"
|
||||
config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
|
||||
config.EncoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder // 大写日志级别
|
||||
config.EncoderConfig.EncodeCaller = zapcore.ShortCallerEncoder // 短格式调用者信息
|
||||
|
||||
// 设置日志级别
|
||||
config.Level = zap.NewAtomicLevelAt(getLogLevel(cfg.Logging.Level))
|
||||
|
||||
return config.Build()
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ func NewZapLoggerAdapter(logger *zap.Logger) interfaces.Logger {
|
||||
}
|
||||
|
||||
// Info 实现 Logger 接口
|
||||
func (l *ZapLoggerAdapter) Info(msg string, fields ...interface{}) {
|
||||
func (l *ZapLoggerAdapter) Info(msg string, fields ...any) {
|
||||
l.logger.Info(msg, convertFields(fields)...)
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ func (l *ZapLoggerAdapter) Fatal(msg string, fields ...interface{}) {
|
||||
}
|
||||
|
||||
// convertFields 转换字段
|
||||
func convertFields(fields []interface{}) []zap.Field {
|
||||
func convertFields(fields []any) []zap.Field {
|
||||
zapFields := make([]zap.Field, 0, len(fields)/2)
|
||||
for i := 0; i < len(fields); i += 2 {
|
||||
if i+1 < len(fields) {
|
||||
|
||||
0
order/logs/.gitkeep
Normal file
0
order/logs/.gitkeep
Normal file
@@ -80,7 +80,7 @@ func main() {
|
||||
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
|
||||
|
||||
// 启动定时任务
|
||||
ticker := time.NewTicker(time.Duration(cfg.Schedule.Interval) * time.Second)
|
||||
ticker := time.NewTicker(time.Duration(cfg.Schedule.Interval) / 12 * time.Second)
|
||||
defer ticker.Stop()
|
||||
|
||||
go func() {
|
||||
|
||||
Reference in New Issue
Block a user