server支持自定义配置

This commit is contained in:
2021-04-17 21:41:40 +08:00
parent 70007b036d
commit 563c334757
7 changed files with 88 additions and 16 deletions

View File

@ -8,6 +8,7 @@
package config
import (
"github.com/go-developer/gopkg/logger"
"go.uber.org/zap/zapcore"
)
@ -35,8 +36,8 @@ const (
DefaultMode = RunModeDebug
// DefaultLogLevel 默认的日志级别
DefaultLogLevel = zapcore.DebugLevel
// DefaultLogSplitInterval 默认的日切割时间
DefaultLogSplitInterval = LogSplitIntervalHour
// DefaultLogSplitInterval 默认的日切割时间
DefaultLogSplitInterval = logger.TimeIntervalTypeHour
)
// WSServerConfig WS-Server的配置
@ -45,12 +46,13 @@ const (
//
// Date : 7:02 下午 2021/4/17
type WSServerConfig struct {
Mode string // 运行模式
LogEnable bool // 开启日志
LogConsole bool // 开启控制台日志输出
LogPath string // 日志路径
LogLevel zapcore.Level // 日志等级
LogSplitInterval string // 日至切割的时间间隔
Mode string // 运行模式
LogEnable bool // 开启日志
LogConsole bool // 开启控制台日志输出
LogPath string // 日志路径
LogFile string // 日志文件名
LogLevel zapcore.Level // 日志等级
LogSplitInterval logger.TimeIntervalType // 日至切割的时间间隔
}
// SetWSServerConfig 设置WS-Server的配置
@ -65,14 +67,19 @@ type SetWSServerConfig func(wsc *WSServerConfig)
// Author : go_developer@163.com<张德满>
//
// Date : 7:25 下午 2021/4/17
func SetWSServerLogEnable(logPath string, logLevel zapcore.Level, splitInterval string) SetWSServerConfig {
func SetWSServerLogEnable(logPath string, logFile string, logLevel zapcore.Level, splitInterval logger.TimeIntervalType) SetWSServerConfig {
return func(wsc *WSServerConfig) {
if splitInterval != LogSplitIntervalDay && splitInterval != LogSplitIntervalHour {
if splitInterval != logger.TimeIntervalTypeMinute &&
splitInterval != logger.TimeIntervalTypeHour &&
splitInterval != logger.TimeIntervalTypeDay &&
splitInterval != logger.TimeIntervalTypeMonth &&
splitInterval != logger.TimeIntervalTypeYear {
// 传入非法值,默认按小时切割日志
splitInterval = LogSplitIntervalHour
splitInterval = DefaultLogSplitInterval
}
wsc.LogEnable = true
wsc.LogPath = logPath
wsc.LogFile = logFile
wsc.LogLevel = logLevel
wsc.LogSplitInterval = splitInterval
}