conf

package
v1.0.20 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetupConfig

func SetupConfig(v any, path string) error

SetupConfig 从文件读取内容初始化配置

func WriteConfig added in v1.0.17

func WriteConfig(v any, path string) error

WriteConfig 将配置写回文件

Types

type Bootstrap

type Bootstrap struct {
	Debug        bool   `toml:"-" json:"-"`
	BuildVersion string `toml:"-" json:"-"`

	Server Server // 服务器
	Data   Data   // 数据
	Log    Log    // 日志
}

type Data

type Data struct {
	// Database 数据库
	Database Database `comment:"数据库支持 sqlite 和 postgres 两种,使用 sqlite 时 dsn 应当填写文件存储路径"`
}

Data 结构体,包含 Database 和 Redis 两个字段

type Database

type Database struct {
	Dsn             string   // 数据源名称
	MaxIdleConns    int32    // 最大空闲连接数
	MaxOpenConns    int32    // 最大打开连接数
	ConnMaxLifetime Duration // 连接最大生命周期
	SlowThreshold   Duration // 慢查询阈值
}

Database 结构体,包含 Dsn、MaxIdleConns、MaxOpenConns、ConnMaxLifetime 和 SlowThreshold 五个字段

type Duration

type Duration time.Duration

func (*Duration) Duration

func (d *Duration) Duration() time.Duration

func (Duration) MarshalText

func (d Duration) MarshalText() ([]byte, error)

func (*Duration) UnmarshalText

func (d *Duration) UnmarshalText(b []byte) error

type Log

type Log struct {
	Dir          string   `comment:"日志存储目录,不能使用特殊符号"`
	Level        string   `comment:"记录级别 debug/info/warn/error"`
	MaxAge       Duration `comment:"保留日志多久,超过时间自动删除"`
	RotationTime Duration `comment:"多久时间,分割一个新的日志文件"`
	RotationSize int64    `comment:"多大文件,分割一个新的日志文件(MB)"`
}

Log 结构体,包含 Dir、Level、MaxAge、RotationTime 和 RotationSize 五个字段

type Server

type Server struct {
	Debug bool
	HTTP  ServerHTTP `comment:"对外提供的服务,建议由 nginx 代理"` // HTTP服务器
}

type ServerHTTP

type ServerHTTP struct {
	Port      int         `comment:"http 端口"`                // 服务器端口号
	Timeout   Duration    `comment:"请求超时时间"`                 // 请求超时时间
	JwtSecret string      `comment:"jwt 秘钥,空串时,每次启动程序将随机赋值"` // JWT密钥
	PProf     ServerPPROF // Pprof配置
}

type ServerPPROF

type ServerPPROF struct {
	Enabled   bool     `comment:"是否启用 pprof, 建议设置为 true"`  // 是否启用
	AccessIps []string `comment:"访问白名单" json:"access_ips"` // 允许访问的IP地址列表
}

ServerPPROF 结构体,包含 Enabled 和 AccessIps 两个字段

Jump to

Keyboard shortcuts

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