Documentation ¶
Index ¶
- Constants
- Variables
- type ECodeCompressPrice
- type ECodeCompressType
- type ECodeCryptType
- type ECodeHashType
- type ELogLevel
- type ELoggerStatus
- type ILogMe
- type ILoger
- type IUcoder
- type IUcomer
- type IUfiler
- type IUloger
- type IUsyser
- type LogMe
- func (l *LogMe) Debug(format string, v ...interface{})
- func (l *LogMe) Debugv(v ...interface{})
- func (l *LogMe) Error(format string, v ...interface{})
- func (l *LogMe) ErrorEnil(format string, v ...interface{}) error
- func (l *LogMe) Errorv(v ...interface{})
- func (l *LogMe) Info(format string, v ...interface{})
- func (l *LogMe) Infov(v ...interface{})
- func (l *LogMe) Init(theme string, name func() string)
- func (l *LogMe) Trace(format string, v ...interface{})
- func (l *LogMe) Tracev(v ...interface{})
- func (l *LogMe) Warn(format string, v ...interface{})
- func (l *LogMe) WarnEnil(format string, v ...interface{}) error
- func (l *LogMe) Warnv(v ...interface{})
- type SLogSetting
- type TDurt
- type TGUID
- type TJsTime
- type TStringArray
- type TTime
Constants ¶
View Source
const ( UTD_VERSION = "1.0.0" // Ghost库版本号 UTD_LOG_LEVEL = ELL_Debug // 默认日志等级 UTD_LOG_FILE_SUFFIX = "log" // 默认日志文件后缀名 UTD_LOG_ROTATE_MAX = 3 // 默认日志文件轮换数量 UTD_LOG_ROTATE_SIZE = 20 * 1024 * 1024 // 默认日志文件轮换size UTD_LOG_CSIZE = 100 // 默认日志消息通道缓存大小 UTD_LOG_DTM_ONCE = 50 // 逻辑日志每写多少条,写一次[DTM]日期记录 UTD_RANDOM_WORKERID_BITS = uint64(10) UTD_RANDOM_SEQUENCE_BITS = uint64(12) UTD_RANDOM_WORKERID_SHIFT = UTD_RANDOM_SEQUENCE_BITS UTD_RANDOM_TIMESTAMP_SHIFT = UTD_RANDOM_SEQUENCE_BITS + UTD_RANDOM_WORKERID_BITS UTD_RANDOM_SEQUENCE_MASK = int64(-1) ^ (int64(-1) << UTD_RANDOM_SEQUENCE_BITS) UTD_RANDOM_TWEPOCH = int64(1288834974288) // ( 2012-10-28 16:23:42 UTC ).UnixNano() >> 20 UTD_RANDOM_CSIZE = 100 )
----------------------------------------------------------------------------- =====================================常量定义================================ -----------------------------------------------------------------------------
Variables ¶
View Source
var ( Usys IUsyser // 标准系统接口 Ucom IUcomer // 标准通用接口 Ufil IUfiler // 标准文件接口 Ucod IUcoder // 标准编码接口 Ulog IUloger // 标准日志接口 )
View Source
var (
UTD_LOG_MSG_LV_PREFIXS = [ELL_Maxed]string{"[TRC]", "[DBG]", "[INF]", "[WRN]", "[ERR]", "[FAIL]"}
)
Functions ¶
This section is empty.
Types ¶
type ECodeCompressPrice ¶
type ECodeCompressPrice int //
编码-压缩性能
const ( ECPP_BESTSPEED ECodeCompressPrice = iota // 最快速度 ECPP_FAST // 较快 ECPP_BESTHIGHT // 最高压缩比 )
type ECodeCompressType ¶
type ECodeCompressType int //
编码-压缩类型
const ( ECPT_GZIP ECodeCompressType = iota //支持压缩等级 ECPT_ZLIB //支持压缩等级 字典 ECPT_FLATE //支持压缩等级 字典 )
type ECodeCryptType ¶
type ECodeCryptType int //
编码-加密类型
const ( ECYT_BASE32 ECodeCryptType = iota //base32 加密解密编码 ECYT_BASE64 //base64 加密解密编码 ECYT_AES_CFB // CFB ECYT_AES_CTR // CTR ECYT_AES_OFB // OFB ECYT_AES_CBC // CBC 注意输入参数长度 )
type ECodeHashType ¶
type ECodeHashType int //
编码-校验类型
const ( ECHT_MD5 ECodeHashType = iota ECHT_SHA1 ECHT_SHA256 ECHT_SHA512 ECHT_CRC32 ECHT_CRC64 )
type ELoggerStatus ¶
type ELoggerStatus int //
日志运行状态
const ( ELS_Initing ELoggerStatus = iota ELS_Running ELS_Exiting ELS_Stopped )
type ILoger ¶
type ILoger interface { // TRACE Trace(format string, v ...interface{}) Tracev(v ...interface{}) // DEBUG Debug(format string, v ...interface{}) Debugv(v ...interface{}) // INFO Info(format string, v ...interface{}) Infov(v ...interface{}) // WARN Warn(format string, v ...interface{}) Warnv(v ...interface{}) // ERROR Error(format string, v ...interface{}) Errorv(v ...interface{}) }
***************************************************************************** Copyright:cloud Author:cloudapex@126.com Version:1.0 Date:2014-10-18 Description: utd库标准日志接口 ***************************************************************************** 基础接口
type IUcoder ¶
type IUcoder interface { // 序列化|反序列化 (Gob) GEncode(e interface{}) ([]byte, error) GDecode(e interface{}, b []byte) error // 十六进制编码解码 HexEncode(src []byte) []byte HexDecode(src []byte) ([]byte, error) HexEncodeStr(src []byte) string HexDecodeStr(src string) ([]byte, error) // 压缩|解压缩 EnCompress(ptype ECodeCompressType, b []byte, price ECodeCompressPrice, dict ...byte) ([]byte, error) DeCompress(ptype ECodeCompressType, b []byte, dict ...byte) ([]byte, error) // 加密|解密 (key must 32 or 64 len or use default key) EncryptBase(ctype ECodeCryptType, b []byte, key ...byte) ([]byte, error) DecryptBase(ctype ECodeCryptType, b []byte, key ...byte) ([]byte, error) // 加密|解密 (key must <=256 len or use default key(72)) EncryptRC4(b []byte, key ...byte) ([]byte, error) DecryptRC4(b []byte, key ...byte) ([]byte, error) // 加密|解密 (iVector init_vector 16 len or user default iv,key must 16 or 24 or 32 len or use default key(16)) EncryptStreamAES(ctype ECodeCryptType, b []byte, iVector []byte, key ...byte) ([]byte, error) DecryptStreamAES(ctype ECodeCryptType, b []byte, iVector []byte, key ...byte) ([]byte, error) // 哈希值校验码[string] HashCode(hashType ECodeHashType, b []byte) ([]byte, error) // 哈希值校验码[number] HashCrc32_IEEE(data []byte) uint32 HashCrc32_CASTAGN(data []byte) uint32 HashCrc32_KOOPMAN(data []byte) uint32 HashCrc64_ISO(data []byte) uint64 HashCrc64_ECMA(data []byte) uint64 }
type IUcomer ¶
type IUcomer interface { // 可变参数组 Args(params ...interface{}) []interface{} // 实例一个IUloger NewUlogger(setting *SLogSetting) IUloger // 三元运算 UCast(condition bool, trueFun, falseFun func()) // condition ? trueFun : falseFun UCall(condition bool, trueFun, falseFun func() interface{}) interface{} // condition ? trueFun : falseFun // 深度拷贝 Clone(src, des interface{}) error // url库里面的Encode接口对时间字符串支持有问题 UrlEncode(urlValue map[string][]string) string // 随机数 RandInt(max int) int RandFnt() float32 RandGid() TGUID RandStr(num int) string RandInts(max, num int) []int RandIntDis(max, num int) []int // 位运算操作 BitHas(value uint, flags ...uint) bool BitSet(value uint, flags ...uint) uint BitDel(value uint, flags ...uint) uint // 检测value是否在min-max之间 Between(value, min, max int) bool // 检查默认参数值 DefvBool(defVal []bool) bool // 最大最小值 UMin(n1, n2 int) int UMax(n1, n2 int) int UMinf(f1, f2 float32) float32 UMaxf(f1, f2 float32) float32 UMinMax(value, min, max int) int UMinMaxf(value, minf, maxf float32) float32 ShouldMin(value, minVal, should int) int // (value <= minVal) =>should ShouldMax(value, maxVal, should int) int // (value >= maxVal) =>should ShouldStr(value, desStr, should string) string // (value == desStr) =>should // 转换时间段 DurationMic(mic int) time.Duration DurationMil(mil int) time.Duration DurationSec(sec int) time.Duration // 时间解析/格式化[年-月-日 时:分:秒][时:分:秒 年-月-日 ][时:分:秒][年-月-日][时-分][时][年-月][年] TimeFormat(t time.Time) string TimeParsed(datum time.Time, datetime ...string) (time.Time, error) TimeParsedt(datum time.Time, datetime ...string) time.Time // 自动锁[函数式] AutoLock(mu *sync.Mutex, fun func()) AutoRLock(mu *sync.RWMutex, fun func()) AutoWLock(mu *sync.RWMutex, fun func()) // 自动锁[组合式] Lock(mu *sync.Mutex) *sync.Mutex UnLock(lockFun *sync.Mutex) RLock(mu *sync.RWMutex) *sync.RWMutex RUnLock(rMutex *sync.RWMutex) WLock(mu *sync.RWMutex) *sync.RWMutex WUnLock(wMutex *sync.RWMutex) }
type IUfiler ¶
type IUfiler interface { // 文件或者文件夹修改时间 TimeMod(file string) (int64, error) // 文件或者文件夹大小尺寸 Sizefi(file string) (int64, error) // 文件或者文件夹改名 Rename(file string, to string) error // 文件或者文件夹移除 Remove(file string) error // 判断文件或者文件夹是否存在 Exist(file string) bool // 剪切文件 注意路径是否存在 CutTo(srcFile, desFile string) error // 拷贝文件 注意路径是否存在 CopyTo(srcFile, desFile string) error // 获取指定目录下的所有文件名列表(不进入下一级目录搜索,支持后缀过滤) DirList(dirPth string, suffix string) (files []string, err error) // 获取指定目录及所有子目录下的所有文件名列表(支持后缀过滤) DirWalk(dirPth, suffix string) (files []string, err error) }
type IUloger ¶
type IUloger interface { // 继承接口 ILoger // 启动 Start() // 停止 Stop() // 日志属性 GetLevel() ELogLevel // 获取日志等级 SetLevel(lv ELogLevel) // 设置日志等级 // 日志等级前缀 UpdPrefix(lvPrefix [ELL_Maxed]string) // 日志过滤器(return true then don't logfile) UpdFilter(filter func(lv ELogLevel, msg string) bool) // FATAL Fatal(format string, v ...interface{}) }
完整接口
type IUsyser ¶
type IUsyser interface { // 系统启动[参数: 空-不使用文件日志 nil-使用默认配置日志 cfg-自定义日志] Init(setting ...*SLogSetting) // 系统启动[适合GUI或者工具类程序 run:主执行函数] Exec(run func(), setting ...*SLogSetting) // 系统等待结束 Wait(x ...interface{}) // 系统信号 可添加多个 Sign(hand func()) // 系统退出 Quit(delay ...time.Duration) // 捕获异常[usage: defer Catch(...)] Catch(desc string, x interface{}, bFatal ...bool) bool // 获取 goroutine_id GoId() (int, error) // 获取 函数调用堆栈信息 Stack() (file string, line int, fun string) StackStr() string // 系统开始时间 TimeStart() time.Time // 系统运行时间 TimeLived() time.Duration // 查找系统命令 LookCmd(cmdName string) bool // 执行系统命令[并且等待执行完毕] ExecCmd(cmd string, wait bool, arg ...string) (string, error) // Ping目标主机是否通畅 Ping(ip string) error // 开启性能检测服务 StartPprof(addr string) // 关闭性能检测服务 StopPprof() // 开启一个Goroutine[异常捕捉] Goroutine(name string, goFun func()) // 程序名称 ExeName() string // 程序名称.exe ExeFullName() string // 程序路径全 ExeFullPath() string // 程序路径不全 ExePathName() string // 程序路径附加 ExePathJoin(file string) string // 函数字符串名称 FunSelfName(fun interface{}) string FunFullName(fun interface{}, seps ...rune) string // 检测日志等级 EnLogLevel(lv ELogLevel) bool // 直接打印到控制台 Print(format string, v ...interface{}) // 带源信息的日志输出 Trace(format string, v ...interface{}) Debug(format string, v ...interface{}) Info(format string, v ...interface{}) Warn(format string, v ...interface{}) Error(format string, v ...interface{}) Fatal(format string, v ...interface{}) }
type SLogSetting ¶
type SLogSetting struct { Level ELogLevel // 日志等级[ELL_Debug] DirName string // 输出目录[程序所在目录] FileName string // 日志文件主名[程序本身] FileSuffix string // 日志文件后缀[log] RotateMax int // 日志文件轮换数量 RotateSize int // 日志文件轮换大小 }
日志配置
type TStringArray ¶
type TStringArray []string //
字符串数组类型
func (*TStringArray) Set ¶
func (a *TStringArray) Set(s string) error
func (*TStringArray) String ¶
func (a *TStringArray) String() string
Click to show internal directories.
Click to hide internal directories.