Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApolloConfig ¶
type Cache ¶
type Cache struct { Network string `yaml:"network" json:"network"` // 网络类型, tcp or unix,默认tcp Addr string `yaml:"addr" json:"addr"` // Redis地址 eg: localhost:6379 User string `yaml:"user" json:"user"` // 用户, redis6.0开始支持 Pwd string `yaml:"pwd" json:"pwd"` // 密码 MinFreeConnCount int `yaml:"minFreeConnCount" json:"minFreeConnCount"` // 最小闲置连接数, 默认是3 MaxOpenConnCount int `yaml:"maxOpenConnCount" json:"maxOpenConnCount"` // 最大连接数, 默认是10 FreeMaxLifetime int `yaml:"freeMaxLifetime" json:"freeMaxLifetime"` // 闲置连接存活的最大时间, -1表示无限制, 默认是10分钟, 单位: 秒 ConnMaxLifetime int `yaml:"connMaxLifetime" json:"connMaxLifetime"` // 连接存活最大时长, 默认是1小时, 单位: 秒 Database int `yaml:"database" json:"database"` // 数据库 ConnectTimeout int `yaml:"connectTimeout" json:"connectTimeout"` // 建立连接超时时间, 默认是5秒, 单位: 秒 ReadTimeout int `yaml:"readTimeout" json:"readTimeout"` // 读取超时时间, -1表示无超时, 默认是3秒, 单位: 秒 WriteTimeout int `yaml:"writeTimeout" json:"writeTimeout"` // 写超时时间, 默认和ReadTimeout保持一致, 单位: 秒 BusyWaitTimeOut int `yaml:"busyWaitTimeOut" json:"busyWaitTimeOut"` // 当所有连接都处在繁忙状态时, 客户端等待可用连接的最大等待时长,默认为3秒 MaxRetries int `yaml:"maxRetries" json:"maxRetries"` // 最大尝试次数, -1表示不重试, 默认是3 }
Cache 缓存配置
type DB ¶
type DB struct { Url string `yaml:"url" json:"url"` // 写节点Url Replicas []string `yaml:"replicas" json:"replicas"` // 读节点Url 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 数据库配置 Mysql Url eg: root:my_pass@tcp(127.0.0.1:3306)/my_db?charset=utf8mb4&parseTime=True&loc=UTC Postgres Url eg: `host=127.0.0.1 user=root password=my_pass dbname=my_db port=5432 sslmode=disable TimeZone=UTC`
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 Caller int `json:"caller" yaml:"caller"` // 日志包装层数 FileName string `json:"fileName" yaml:"fileName"` // 文件名 TimeFieldName string `json:"timeFieldName" yaml:"timeFieldName"` // 时间字段名称, 默认是: time TimeLayout string `json:"timeLayout" yaml:"timeLayout"` // 时间格式, 默认是: RFC3339 }
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 协程最大闲置时间, 默认是20分钟, 单位: 秒 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 // 中间件 server.OnHookFunc // server勾子函数 }
func NewSetting ¶ added in v1.2.2
func NewSetting() *Setting
Click to show internal directories.
Click to hide internal directories.