conf

package
v0.0.0-...-48004d9 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

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"`
}

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
const (
	// TextFormat 文本格式
	TextFormat LogFormat = "text"
	// JSONFormat json 格式
	JsonFormat LogFormat = "json"
)

type LogTo

type LogTo string
const (
	ToFile   LogTo = "file"
	ToStdout LogTo = "stdout"
)

type MySQL

type MySQL struct {
	Host     string `toml:"host" env:"D_MYSQL_HOST"`
	Port     string `toml:"port" env:"D_MYSQL_PORT"`
	UserName string `toml:"username" env:"D_MYSQL_USERNAME"`
	Password string `toml:"password" env:"D_MYSQL_PASSWORD"`
	Database string `toml:"database" env:"D_MYSQL_DATABASE"`
	// 因为使用的MySQL连接池,需要池做一些规划配置
	// 控制当前程序的MySQL打开的连接数
	MaxOpenConn int `toml:"max_open_conn" env:"D_MYSQL_MAX_OPEN_CONN"`
	// 控制MySQL复用,比如,最多运行5个来复用
	MaxIdleConn int `toml:"max_idle_conn" env:"D_MYSQL_MAX_IDLE_CONN"`
	// 一个连接的生命周期,这个和MySQL Server配置有关系,必须小于Server配置有关系,必须小于Server配置
	// 一个连接用12h,换一个conn, 保证一定的可用性
	MaxLifeTime int `toml:"max_life_time" env:"D_MYSQL_MAX_LIFE_TIME"`
	// Idle 连接 最多运行存活多久
	MaxIdleTime int `toml:"max_idle_time" env:"D_MYSQL_MAX_idle_TIME"`
	// contains filtered or unexported fields
}

func NewDefaultMySQL

func NewDefaultMySQL() *MySQL

MySQL todo 用于配置全局Logger对象

func (*MySQL) GetDB

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

1. 第一种方式,使用LoadGlbal 在加载时,初始化全局db实例 2. 第二种方式,惰性加载, 获取DB是,动态判断再初始化

Jump to

Keyboard shortcuts

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