conf

package
v0.0.0-...-78a9a19 Latest Latest
Warning

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

Go to latest
Published: May 31, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TextFormat 文本格式
	TextFormat = LogFormat("text")
	// JSONFormat json格式
	JSONFormat = LogFormat("json")
)
View Source
const (
	// ToFile 保存到文件
	ToFile = LogTo("file")
	// ToStdout 打印到标准输出
	ToStdout = LogTo("stdout")
)

Variables

This section is empty.

Functions

func LoadConfigFromEnv

func LoadConfigFromEnv() error

从环境变量中加载

func LoadConfigFromToml

func LoadConfigFromToml(filepath string) error

从toml格式的配置文件中加载

Types

type App

type App struct {
	Name string `toml:"name" env:"APP_NAME"`
	Host string `toml:"host" env:"APP_HOST"`
	Port string `toml:"port" env:"APP_PORT"`
}

func NewDefaultApp

func NewDefaultApp() *App

func (*App) HttpAddr

func (a *App) HttpAddr() string

type Config

type Config struct {
	App   *App   `toml:"app"`
	Log   *Log   `toml:"log"`
	MySQL *MySQL `toml:"mysql"`
}

Config 应用配置

func C

func C() *Config

获取到配置,单独提供函数 全局Config对象获取函数

func NewDefaultConfig

func NewDefaultConfig() *Config

初始化一个有默认值的Config对象

type Log

type Log struct {
	Level   string    `toml:"level" env:"LOG_LEVEL"`
	PathDir string    `toml:"path_dir" env:"LOG_PATH_DIR"`
	Format  LogFormat `toml:"format" env:"LOG_FORMAT"`
	To      LogTo     `toml:"to" env:"LOG_TO"`
}

Log todo

func NewDefaultLog

func NewDefaultLog() *Log

type LogFormat

type LogFormat string

LogFormat 日志格式

type LogTo

type LogTo string

LogTo 日志记录到哪儿

type MySQL

type MySQL struct {
	Host     string `toml:"host" env:"MYSQL_HOST"`
	Port     string `toml:"port" env:"MYSQL_PORT"`
	UserName string `toml:"username" env:"MYSQL_USERNAME"`
	Password string `toml:"password" env:"MYSQL_PASSWORD"`
	Database string `toml:"database" env:"MYSQL_DATABASE"`
	// 因为使用的是MySQL的连接池,需要对连接池做一些规划配置
	// 控制当前程序打开的MySQL连接数
	MaxOpenConn int `toml:"max_open_conn" env:"MYSQL_MAX_OPEN_CONN"`
	// 控制MySQL连接的复用,比如 5 最多允许5个复用
	MaxIdleConn int `toml:"max_idle_conn" env:"MYSQL_MAX_IDLE_CONN"`
	// 控制MySQL的最大连接生命周期,和MySQL Server的配置有关,必须小于等于Server端的配置
	// 一个连接使用12h,到期后必须换一个连接,保证一定的可用性
	MaxLifeTime int `toml:"max_life_time" env:"MYSQL_MAX_LIFE_TIME"`
	// Idle连接最多允许存活时间
	MaxIdleTime int `toml:"max_idle_time" env:"MYSQL_MAX_idle_TIME"`
	// contains filtered or unexported fields
}

MySQL todo

func NewDefaultMySQL

func NewDefaultMySQL() *MySQL

func (*MySQL) GetDB

func (m *MySQL) GetDB() *sql.DB

1.使用LoadGlobal在加载时初始化全局db实例 2.惰性加载,每次都获取db,动态判断是否需要初始化

Jump to

Keyboard shortcuts

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