Documentation ¶
Overview ¶
日志相关配置
Index ¶
Constants ¶
View Source
const ( DefaultAppName = "application" DefaultServerType = "backend" DefaultPort = 9445 )
Variables ¶
This section is empty.
Functions ¶
func LoadGlobalConfig ¶
Types ¶
type CacheModel ¶ added in v1.6.2
type CacheModel string
const ( ORMCacheDisable CacheModel = "CacheDisable" ORMCacheOnlyPrimary CacheModel = "CacheOnlyPrimary" ORMCacheOnlySearch CacheModel = "CacheOnlySearch" ORMCacheAll CacheModel = "CacheAll" )
func (CacheModel) Number ¶ added in v1.6.2
func (c CacheModel) Number() int
type DBConfig ¶ added in v1.6.2
type DBConfig struct { DBType DBTYPE `toml:"db_type" json:"db_type" env:"ORM_DBTYPE"` // dbtype User string `toml:"user" json:"user" env:"ORM_USER"` // user Password string `toml:"password" json:"password" env:"ORM_PASSWORD"` // password Host string `toml:"host" json:"host" env:"ORM_HOST"` // host Port string `toml:"port" json:"port" env:"ORM_PORT"` // port Database string `toml:"database" json:"database" env:"ORM_DATABASE"` // database Args string `toml:"orm_args" json:"orm_args" env:"ORM_ARGS"` // args Cache OrmCache `toml:"dbcache"` }
DBConfig represents a database configuration
func (DBConfig) DefaultConfig ¶ added in v1.6.2
type Discovery ¶
type Discovery struct { Namespace string `toml:"namespace" json:"namespace" env:"DISCOVERY_NAMESPACE"` // 命名空间 Endpoints []string `toml:"endpoints" json:"endpoints" env:"DISCOVERY_ENDPOINTS"` // 连接端点 DialTimeout utils.Duration `toml:"dial_timeout" json:"dial_timeout" env:"DISCOVERY_DIALTIMEOUT"` // 连接超时时间 }
func (Discovery) DefaultConfig ¶
type GinConfig ¶
type GinConfig struct { App string `toml:"app" json:"app" env:"GIN_APP"` // application ServerType string `toml:"server_type" json:"server_type" env:"GIN_SERVERTYPE"` // 服务类型 EnablePprof bool `toml:"enable_pprof" json:"enable_pprof" env:"GIN_ENABLEPPROF"` // pprof开关 EnableHealth bool `toml:"enable_health" json:"enable_health" env:"GIN_ENABLEHEALTH"` // health开关 EnableDebug bool `toml:"enable_debug" json:"enable_debug" env:"GIN_ENABLEDEBUG"` // debug开关 EnableMetrics bool `toml:"enable_metrics" json:"enable_metrics" env:"GIN_ENABLEMETRICS"` // metrics开关 EnableCache bool `toml:"enable_cache" json:"enable_cache" env:"GIN_ENABLECACHE"` // 缓存开关 EnableAuth bool `toml:"enable_auth" json:"enable_auth" env:"GIN_ENABLEAUTH"` // 签名权限开关 EnableVerifyCommand bool `toml:"enable_verify_command" json:"enable_verify_command" env:"GIN_VERIFYCOMMAND"` // 指令验证开关 Port int `toml:"port" json:"port" env:"GIN_PORT"` // port Trace string `toml:"trace" json:"trace" env:"GIN_TRACE"` // Trace GracefulTimeout utils.Duration `toml:"graceful_timeout" json:"graceful_timeout" env:"GIN_GRACEFULTIMEOUT"` // GracefulTimeout }
func (GinConfig) DefaultConfig ¶
func (GinConfig) ListenAddr ¶
type Global ¶
type Global struct { Logging `toml:"logging"` Metrics `toml:"metrics"` Discovery `toml:"discovery"` GinConfig `toml:"gin"` RateLimit `toml:"ratelimit"` Temporary `toml:"temporary"` DBConfig `toml:"database"` }
var GlobalCfg Global
type Logging ¶
type Logging struct { IsTerminal bool `toml:"isterminal" json:"isterminal" env:"LOGGING_ISTERMINAL"` // debug模式stdout输出 Dir string `toml:"dir" json:"dir" env:"LOGGING_DIR"` // 日志目录 Filename string `toml:"name" json:"name" env:"LOGGING_FILENAME"` // 日志名称 Level string `toml:"level" json:"level" env:"LOGGING_LEVEL"` // 打印日志等级 MaxSize uint16 `toml:"maxsize" json:"maxsize" env:"LOGGING_MAXSIZE"` // 单日志尺寸 MaxBackups uint16 `toml:"maxbackups" json:"maxbackups" env:"LOGGING_MAXBACKUPS"` // 日志备份数 MaxAge uint16 `toml:"maxage" json:"maxage" env:"LOGGING_MAXAGE"` // 留旧日志文件的最大天数 }
Logging represents a logging configuration
func (Logging) DefaultConfig ¶
type Metrics ¶
type Metrics struct { FlushInterval time.Duration `toml:"flush_interval" json:"flush_interval" env:"METRICS_FLUSHINTERVAL"` // flush时间周期 EnableGoRuntimeMetrics bool `toml:"enable_goruntime_metrics" json:"enable_goruntime_metrics" env:"METRICS_ENABLEGORUNTIMEMETRICS"` // 是否收集goroutine相关信息 MetricsPrefix string `toml:"metrics_prefix" json:"metrics_prefix" env:"METRICS_METRICSPREFIX"` // 自定义metric指标前缀 MetricsTags map[string]string `toml:"metrics_tags" json:"metrics_tags" env:"METRICS_METRICSTAGS"` // 自定义metric自动填充kv数据 }
Metrics represents a logging configuration
func (Metrics) DefaultConfig ¶
type OrmCache ¶ added in v1.6.2
type OrmCache struct { // cache type: redis, memory CacheType CACHETYPE `toml:"orm_cache_type" json:"orm_cache_type" env:"ORM_CACHE_TYPE" envDefault:"memory"` // 4 kinds of cache model CacheModel CacheModel `toml:"orm_cache_model" json:"orm_cache_model" env:"ORM_CACHE_MODEL" envDefault:"CacheOnlySearch"` // if user update/delete/create something in DB, we invalidate all cached data to ensure consistency, // else we do nothing to outdated cache. InvalidateWhenUpdate bool `toml:"orm_invalidate_when_update" json:"orm_invalidate_when_update" env:"ORM_INVALIDATE_WHEN_UPDATE" envDefault:"true"` // AsyncWrite if true, then we will write cache in async mode AsyncWrite bool `toml:"orm_async_write" json:"orm_async_write" env:"ORM_ASYNC_WRITE" envDefault:"true"` // CacheTTL cache ttl in ms, where 0 represents forever CacheTTL int64 `toml:"orm_cache_ttl" json:"orm_cache_ttl" env:"ORM_CACHE_TTL" envDefault:"5000"` // DisableCachePenetration if true, then we will not cache nil result DisableCachePenetrationProtect bool `` /* 152-byte string literal not displayed */ CacheCfg OrmCacheCfg `toml:"dbcachecfg"` }
type OrmCacheCfg ¶ added in v1.6.2
type OrmCacheCfg struct { // host:port address. Addr string `toml:"orm_cache_addr" json:"orm_cache_addr" env:"ORM_CACHE_ADDR"` // Use the specified Username to authenticate the current connection // with one of the connections defined in the ACL list when connecting // to a Redis 6.0 instance, or greater, that is using the Redis ACL system. Username string `toml:"orm_cache_username" json:"orm_cache_username" env:"ORM_CACHE_USERNAME"` // Optional password. Must match the password specified in the // requirepass server configuration option (if connecting to a Redis 5.0 instance, or lower), // or the User Password when connecting to a Redis 6.0 instance, or greater, // that is using the Redis ACL system. Password string `toml:"orm_cache_password" json:"orm_cache_password" env:"ORM_CACHE_PASSWORD"` // Database to be selected after connecting to the server. DB int `toml:"orm_cache_dbid" json:"orm_cache_dbid" env:"ORM_CACHE_DBID"` }
type RateLimit ¶
type RateLimit struct { QPS int `toml:"qps" json:"qps" env:"GIN_RATELIMIT_QPS"` // qps Burst int `toml:"burst" json:"burst" env:"GIN_RATELIMIT_BURST"` // 并发数 }
func (RateLimit) DefaultConfig ¶
type Temporary ¶
type Temporary struct { MaxBufferSize int64 `toml:"max_buffer_size" json:"max_buffer_size" env:"TEMPORARY_MAX_BUFFER_SIZE"` // 最大使用内存空间, 超过时则转化成文件 FileDir string `toml:"file_dir" json:"file_dir" env:"TEMPORARY_FILE_DIR"` // 临时文件目录 FilePattern string `toml:"file_pattern" json:"file_pattern" env:"TEMPORARY_FILE_PATTERN"` // 临时文件名格式 MaxUploadSize int64 `toml:"max_upload_size" json:"max_upload_size" env:"TEMPORARY_MAX_UPLOAD_SIZE"` // 最大上传文件大小 }
Temporary represents a logging configuration
func (Temporary) DefaultConfig ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.