settings

package
v1.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApolloConfig

type ApolloConfig struct {
	AppID         string `json:"appID" yaml:"appID"`                 // 应用ID
	Cluster       string `json:"cluster" yaml:"cluster"`             // 集群
	NamespaceName string `json:"namespaceName" yaml:"namespaceName"` // 命名空间
	IP            string `json:"ip" yaml:"ip"`                       // 服务器IP
	Secret        string `json:"secret" yaml:"secret"`               // 密钥
}

type Cache

type Cache struct {
	Host             string `yaml:"host" json:"host"`                         //Redis IP
	Port             int    `yaml:"port" json:"port"`                         //Redis 端口
	User             string `yaml:"user" json:"user"`                         //用户
	Pwd              string `yaml:"pwd" json:"pwd"`                           //密码
	MinFreeConnCount int    `yaml:"minFreeConnCount" json:"minFreeConnCount"` //最小闲置连接数
	MaxOpenConnCount int    `yaml:"maxOpenConnCount" json:"maxOpenConnCount"` //最大连接数, 默认是每核10个连接
	FreeMaxLifetime  int    `yaml:"freeMaxLifetime" json:"freeMaxLifetime"`   //闲置连接存活的最大时间, 单位: 秒
	ConnMaxLifetime  int    `yaml:"connMaxLifetime" json:"connMaxLifetime"`   //连接存活最大时长, 单位: 秒
	Database         int    `yaml:"database" json:"database"`                 //数据库
	ConnectTimeout   int    `yaml:"connectTimeout" json:"connectTimeout"`     //连接Redis超时时间, 单位: 秒
	ReadTimeout      int    `yaml:"readTimeout" json:"readTimeout"`           //读取超时时间, 单位: 秒
	WriteTimeout     int    `yaml:"writeTimeout" json:"writeTimeout"`         //写超时时间, 单位: 秒
	DefaultTimeOut   int    `yaml:"defaultTimeOut" json:"defaultTimeOut"`     //默认缓存时间, 单位: 秒
	MaxRetries       int    `yaml:"maxRetries" json:"maxRetries"`             //最大尝试次数, 默认: 3
}

Cache 缓存配置

type DB

type DB struct {
	Host             string `yaml:"host" json:"host"`                         //数据库 IP
	Port             int    `yaml:"port" json:"port"`                         //数据库 端口
	User             string `yaml:"user" json:"user"`                         //用户名
	Password         string `yaml:"password" json:"password"`                 //密码
	Database         string `yaml:"database" json:"database"`                 //数据库名
	Location         string `yaml:"location" json:"location"`                 //时区
	TablePrefix      string `yaml:"tablePrefix" json:"tablePrefix"`           //表前缀
	SingularTable    bool   `yaml:"singularTable" json:"singularTable"`       //表复数禁用
	CreateBatchSize  int    `yaml:"createBatchSize" json:"createBatchSize"`   //批量创建数量
	EnableRawSQL     bool   `yaml:"enableRawSql" json:"enableRawSql"`         //打印原生SQL
	MaxFreeConnCount int    `yaml:"maxFreeConnCount" json:"maxFreeConnCount"` //最大闲置连接数量
	MaxOpenConnCount int    `yaml:"maxOpenConnCount" json:"maxOpenConnCount"` //最大连接数量
	ConnMaxLifetime  int    `yaml:"connMaxLifetime" json:"connMaxLifetime"`   //连接存活最大时长, 单位: 秒
	FreeMaxLifetime  int    `yaml:"freeMaxLifetime" json:"freeMaxLifetime"`   //闲置连接存活的最大时间, 单位: 秒
}

DB 数据库配置

type Log

type Log struct {
	Level         string `json:"level" yaml:"level"`                 //日志级别
	EnableConsole bool   `yaml:"enableConsole" json:"enableConsole"` //日志是否输出到终端
	Rotated       bool   `json:"rotated" yaml:"rotated"`             //日志是否被分割
	FileDir       string `json:"fileDir" yaml:"fileDir"`             //日志文件所在目录
	MaxSize       int    `json:"maxSize" yaml:"maxSize"`             //每个日志文件长度的最大大小,默认100M
	MaxAge        int    `json:"maxAge" yaml:"maxAge"`               //日志保留的最大天数(只保留最近多少天的日志)
	MaxBackups    int    `json:"maxBackups" yaml:"maxBackups"`       //只保留最近多少个日志文件,用于控制程序总日志的大小
	LocalTime     bool   `json:"localtime" yaml:"localtime"`         //是否使用本地时间,默认使用UTC时间
	Compress      bool   `json:"compress" yaml:"compress"`           //是否压缩日志文件,压缩方法gzip
}

Log 日志配置

type LogHandlerFunc

type LogHandlerFunc func(string, ...interface{})

func (LogHandlerFunc) Printf

func (d LogHandlerFunc) Printf(format string, args ...interface{})

type Mongo

type Mongo struct {
	//Uri mongo Uri example:"mongodb://localhost:27017"
	Uri string `json:"uri" yaml:"uri"`
	//Database 数据库
	Database string `json:"database" yaml:"database"`
	//MaxOpenConnCount 最大连接数量
	MaxOpenConnCount uint64 `json:"maxOpenConnCount" yaml:"maxOpenConnCount"`
	//MinOpenConnCount 最小连接数量
	MinOpenConnCount uint64 `json:"minOpenConnCount" yaml:"minOpenConnCount"`
	//FreeMaxLifetime 闲置连接最大存活时间, 单位: 秒
	FreeMaxLifetime int `yaml:"freeMaxLifetime" json:"freeMaxLifetime"`
}

type Routine

type Routine struct {
	// MaxWorkerCount 最大worker数量, 默认是10
	MaxWorkerCount int `json:"maxWorkerCount" yaml:"maxWorkerCount"`

	// FreeMaxLifetime 协程最大闲置时间, 默认是1小时, 单位: 秒
	FreeMaxLifetime int `json:"freeMaxLifetime" yaml:"freeMaxLifetime"`

	// PanicHandler panic处理器
	PanicHandler func(interface{})

	// Logger 日志处理器
	Logger LogHandlerFunc
}

Routine 协程池配置

type Setting

type Setting struct {
	Host            string            `json:"host" yaml:"host"`                       //地址
	Port            int               `json:"port" yaml:"port"`                       //端口, 默认是9000
	Language        string            `json:"language" yaml:"language"`               //校验错误返回的语言
	ShutDownTimeout int               `json:"shutDownTimeout" yaml:"shutDownTimeout"` //优雅重启, 接收到相关信号后, 处理请求的最长时间, 单位: 秒, 默认3s
	Application     string            `json:"application" yaml:"application"`         //应用名
	Debug           bool              `json:"debug" yaml:"debug"`                     //debug, 默认false
	Swagger         bool              `json:"swagger" yaml:"swagger"`                 //是否启动swagger, 默认false
	LogConfig       Log               `json:"log" yaml:"log"`                         //日志配置
	EnableRtPool    bool              `json:"enableRtPool" yaml:"enableRtPool"`       //启用协程池, 默认是false
	Routine         Routine           `json:"routine" yaml:"routine"`                 //协程池配置
	Middlewares     []gin.HandlerFunc //中间件
	OnStartUp       []func() error    //项目启动前执行函数, 如果出现error, 项目停止启动
	OnShutDown      []func() error    //项目关闭前执行函数
}

func (*Setting) Arrange

func (s *Setting) Arrange()

Arrange 处理零值及无效字段为默认值

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL