1 Star 3 Fork 0

A-涛/xlog

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
config.go 2.08 KB
一键复制 编辑 原始数据 按行查看 历史
A-涛 提交于 2022-06-27 15:30 . init
package xlog
import (
"io"
"gitee.com/xuesongtao/gotool/xdebug"
)
const (
FileShort = 1 << iota // 文件简短名, 如: test.go:11
FileLong // 文件全路径, 如: /a/b/c/test.go:11
XLogDate // 日期, 如: 2008-02-22
XLogTime // 时间, 如: 01:23:23
XLogTimeMill // 毫秒级时间, 如: 01:23:23.675
FileTimeStd = XLogDate | XLogTimeMill
)
// Config logger 配置
type Config struct {
StdPrint bool // 是否输出到控制台
StdPrintLevelColor bool // 根据内容打印颜色, 如果要写入日志文件的话, 这里将失效
PrintErrStack bool // log err 时是否要打印堆栈信息
Writer io.Writer
Flags int // log 标记
Level int // 日志级别
Prefix string // 前缀
FilePath string // 日志文件
LevelPrefixes map[int]string // 自定义前缀
}
// NewDefaultConfig 默认配置
func NewDefaultConfig() *Config {
return &Config{
StdPrint: true,
StdPrintLevelColor: true,
Flags: FileTimeStd,
Level: LevelDev,
}
}
// StdPrint 设置是否打印到控制台
func (x *XLogger) StdPrint(print bool) {
x.config.StdPrint = print
}
// Writer 设置打印到, 设置了, 就不会打印到 文件和控制台
func (x *XLogger) Writer(w io.Writer) {
x.config.Writer = w
}
// Flags 设置需要打印的标记
func (x *XLogger) Flags(flags int) {
x.config.Flags = flags
}
// Prefix 日志前缀
func (x *XLogger) Prefix(v string) {
x.config.Prefix = v
}
// FilePath 日志文件路径
func (x *XLogger) FilePath(path string) {
l := len(path)
sysSplit := xdebug.GetSysPathSplitSymbol()
if l > 0 && string(path[l-1]) != sysSplit {
path += sysSplit
}
x.config.FilePath = path
}
// StdPrintLevelColor 是否需要对日志级别标记颜色
func (x *XLogger) StdPrintLevelColor(print bool) {
x.config.StdPrintLevelColor = print
}
// PrintErrStack 是否要打印 stack
func (x *XLogger) PrintErrStack(print bool) {
x.config.PrintErrStack = print
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xuesongtao/xlog.git
git@gitee.com:xuesongtao/xlog.git
xuesongtao
xlog
xlog
v1.0.3

搜索帮助

0d507c66 1850385 C8b1a773 1850385