完善日志输出配置

This commit is contained in:
2025-03-05 10:20:02 +08:00
parent a1717ff0d1
commit ae7fcfe484
6 changed files with 54 additions and 20 deletions

15
server/pkg/env/env.go vendored
View File

@@ -12,6 +12,7 @@ import (
var (
AppCtrlPort uint16
AppDataPort uint16
AppLogMode string
DbHost string
DbPort uint16
@@ -29,6 +30,7 @@ func Init() {
slog.Debug("没有本地环境变量文件")
}
// AppCtrlPort
appCtrlPortStr := os.Getenv("APP_CTRL_PORT")
if appCtrlPortStr == "" {
panic("环境变量 APP_CTRL_PORT 未设置")
@@ -39,6 +41,7 @@ func Init() {
}
AppCtrlPort = uint16(appCtrlPort)
// AppDataPort
appDataPortStr := os.Getenv("APP_DATA_PORT")
if appDataPortStr == "" {
panic("环境变量 APP_DATA_PORT 未设置")
@@ -49,11 +52,19 @@ func Init() {
}
AppDataPort = uint16(appDataPort)
// AppLogMode
appLogMode := os.Getenv("APP_LOG_MODE")
if appLogMode == "" {
AppLogMode = "dev"
}
// DbHost
DbHost = os.Getenv("DB_HOST")
if DbHost == "" {
panic("环境变量 DB_HOST 未设置")
}
// DbPort
dbPortStr := os.Getenv("DB_PORT")
if dbPortStr == "" {
dbPortStr = "5432"
@@ -64,21 +75,25 @@ func Init() {
}
DbPort = uint16(dbPort)
// DbDatabase
DbDatabase = os.Getenv("DB_DATABASE")
if DbDatabase == "" {
panic("环境变量 DB_DATABASE 未设置")
}
// DbUsername
DbUsername = os.Getenv("DB_USERNAME")
if DbUsername == "" {
panic("环境变量 DB_USERNAME 未设置")
}
// DbPassword
DbPassword = os.Getenv("DB_PASSWORD")
if DbPassword == "" {
panic("环境变量 DB_PASSWORD 未设置")
}
// DbTimezone
DbTimezone = os.Getenv("DB_TIMEZONE")
if DbTimezone == "" {
DbTimezone = "Asia/Shanghai"

View File

@@ -12,6 +12,9 @@ import (
"sync"
"syscall"
"time"
"github.com/lmittmann/tint"
"github.com/mattn/go-colorable"
)
type Context struct {
@@ -75,23 +78,25 @@ func Start() {
}
func initLog() {
// writer := colorable.NewColorable(os.Stdout)
// logger := slog.New(tint.NewHandler(writer, &tint.Options{
// Level: slog.LevelDebug,
// TimeFormat: time.RFC3339,
// ReplaceAttr: func(_ []string, attr slog.Attr) slog.Attr {
// err, ok := attr.Value.Any().(error)
// if !ok {
// return attr
// }
// return tint.Err(err)
// },
// }))
// slog.SetDefault(logger)
handler := slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
Level: slog.LevelDebug,
})
slog.SetDefault(slog.New(handler))
switch env.AppLogMode {
case "dev":
writer := colorable.NewColorable(os.Stdout)
logger := slog.New(tint.NewHandler(writer, &tint.Options{
Level: slog.LevelDebug,
TimeFormat: time.RFC3339,
ReplaceAttr: func(_ []string, attr slog.Attr) slog.Attr {
err, ok := attr.Value.Any().(error)
if ok {
return tint.Err(err)
}
return attr
},
}))
slog.SetDefault(logger)
case "test":
logger := slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{}))
slog.SetDefault(logger)
}
}
func startFwdServer(ctx context.Context) error {