conf

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2023 License: MIT Imports: 9 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格式的配置文件加载配置

func LoadGlobalLogger

func LoadGlobalLogger() error

log 为全局变量, 只需要load 即可全局可用户, 依赖全局配置先初始化

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) GrpcAddr

func (a *App) GrpcAddr() string

grpc启动参数

func (*App) HttpAddr

func (a *App) HttpAddr() string

gin启动参数

func (*App) RestAddr

func (a *App) RestAddr() 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"`
	Format  LogFormat `toml:"format" env:"LOG_FORMAT"`
	To      LogTo     `toml:"to" env:"LOG_TO"`
	PathDir string    `toml:"path_dir" env:"LOG_PATH_DIR"`
}

用于配置全局Logger对象

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:"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"`
	MaxOpenConn int    `toml:"max_open_conn" env:"D_MYSQL_MAX_OPEN_CONN"`
	MaxIdleConn int    `toml:"max_idle_conn" env:"D_MYSQL_MAX_IDLE_CONN"`
	MaxLifeTime int    `toml:"max_life_time" env:"D_MYSQL_MAX_LIFE_TIME"`
	MaxIdleTime int    `toml:"max_idle_time" env:"D_MYSQL_MAX_idle_TIME"`
	// contains filtered or unexported fields
}

用于配置全局MySql对象

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