env

package
v1.3.18 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2022 License: MIT Imports: 7 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// RunModeDebug 调试
	RunModeDebug = "debug"
	// RunModeTest 测试
	RunModeTest = "test"
	// RunModeRelease 线上发布
	RunModeRelease = "release"
)

可以依据不同的运行等级来开启不同的调试功能、接口

Variables

View Source
var (
	// DefaultAppName 默认的app名称
	DefaultAppName = "liziwei01APP"
	// DefaultRunMode 测试默认运行等级
	DefaultRunMode = RunModeRelease
)
View Source
var AutoDetectAppRootDir = autoDetect

AutoDetectAppRootDir 自动获取应用根目录 定义为变量,这样若默认实现不满足,可进行替换

View Source
var Default = New(Option{})

Default (全局)默认的环境信息

全局的 RootDir() 、DataDir() 等方法均使用该环境信息

Functions

func AppName

func AppName() string

AppName (全局)应用的名称

func ConfDir

func ConfDir() string

ConfDir (全局)获取应用配置根目录

func DataDir

func DataDir() string

DataDir (全局)设置应用数据根目录

func LocalIP

func LocalIP() string

LocalIP 本机IP,返回非127域的第一个ipv4 地址 极端特殊情况获取失败返回 机器名 或者 unknown

func LogDir

func LogDir() string

LogDir (全局)获取应用日志根目录

func PID

func PID() int

PID 得到 PID

func PIDString

func PIDString() string

PIDString 得到PID 字符串形式 如打印日志的场景

func RootDir

func RootDir() string

Default 现在为AppEnv接口,现在开始实现接口要求的方法 RootDir (全局)获取应用根目录

func RunMode

func RunMode() string

RunMode (全局) 程序运行等级 默认是 release(线上发布),还可选 RunModeDebug、RunModeTest

func SecondStrFirst

func SecondStrFirst(v1 string, v2 string) string

Types

type AppEnv

type AppEnv interface {
	// 应用名称
	AppNameEnv
	// 应用根目录
	RootDirEnv
	// 应用配置文件根目录
	ConfDirEnv
	// 应用数据文件根目录
	DataDirEnv
	// 应用日志文件更目录
	LogDirEnv
	// 应用运行情况
	RunModeEnv
	// 获取当前环境的选项详情
	Options() Option
	// 复制一个新的env对象,并将传入的Option merge进去
	CloneWithOption(opt Option) AppEnv
}

AppEnv 应用环境信息完整的接口定义

func CloneWithOption

func CloneWithOption(opt Option) AppEnv

CloneWithOption 复制一个新的env对象,并将传入的Option merge进去

func New

func New(opt Option) AppEnv

New 创建新的应用环境

type AppNameEnv

type AppNameEnv interface {
	AppName() string
}

AppNameEnv 应用名称接口

type ConfDirEnv

type ConfDirEnv interface {
	ConfDir() string
}

ConfDirEnv 配置环境信息接口

type DataDirEnv

type DataDirEnv interface {
	DataDir() string
}

DataDirEnv 数据目录环境信息接口

type LogDirEnv

type LogDirEnv interface {
	LogDir() string
}

LogDirEnv 日志目录环境信息接口

type Option

type Option struct {
	// AppName 应用名称
	AppName string
	// RunMode 运行模式
	RunMode string
	// RootDir 应用根目录地址
	// 若为空,将通过自动推断的方式获取
	RootDir string
	// DataDir 应用数据根目录地址
	// 默认为 RootDir+"/data/"
	DataDir string
	// LogDir 应用日志根目录地址
	// 默认为 RootDir+"/log/"
	LogDir string
	// ConfDir 应用配置文件根目录地址
	// 默认为RootDir+"/conf/"
	ConfDir string
}

Option 具体的环境信息

所有的选项都是可选的

func Options

func Options() Option

Options 获取当前环境的选项详情

func (Option) Merge

func (opt Option) Merge(newOpt Option) Option

Merge 合并 传入的Option不为空则合并,否则使用老的值

func (Option) String

func (opt Option) String() string

String 序列化,方便查看 目前输出的是一个json

type RootDirEnv

type RootDirEnv interface {
	RootDir() string
}

RootDirEnv 应用根目录环境信息接口

type RunModeEnv

type RunModeEnv interface {
	RunMode() string
}

RunModeEnv 运行模式/等级接口

Jump to

Keyboard shortcuts

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