package main

import (
	"fmt"

	"git.listensoft.net/tool/jspkit/config"
	"git.listensoft.net/tool/jspkit/logger"
	"go.uber.org/zap"
)

func main() {
	// 读取配置文件
	// data, err := os.ReadFile("examples/config/logger.yaml")
	// if err != nil {
	// 	fmt.Printf("读取配置文件失败: %v\n", err)
	// 	return
	// }

	// 解析配置
	cfg := config.System{
		Logger: config.Logger{
			Level:      "debug",
			Filename:   "log.log",
			MaxSize:    10,
			MaxBackups: 10,
			MaxAge:     10,
			Compress:   true,
			Console:    true,
			ToMq:       true,
			MqSetting: config.MqSetting{
				Host:     "localhost",
				Port:     5672,
				Username: "guest",
				Password: "guest",
			},
		},
	}
	// if err := yaml.Unmarshal(data, &cfg); err != nil {
	// 	fmt.Printf("解析配置文件失败: %v\n", err)
	// 	return
	// }

	// 初始化日志
	if err := logger.InitLogger(&cfg); err != nil {
		fmt.Printf("初始化日志失败: %v\n", err)
		return
	}

	// 使用示例
	logger.Debug("这是一条调试日志")
	logger.Info("这是一条信息日志")
	logger.Warn("这是一条警告日志")
	logger.Error("这是一条错误日志",
		zap.String("error_code", "500"),
		zap.String("error_msg", "服务器内部错误"),
	)
}
