# README
golang logger
基于uber zap封装而成的logger模块,可用于go应用中记录操作日志
# Functions
Compress 日志是否压缩.
Debug debug日志直接输出到终端.
DPanic 调试模式下的panic,程序不退出,继续运行.
Error 错误类型的日志.
Fatal 抛出致命错误,然后退出程序.
Info info级别日志.
*
InitLogger 初始化fLogger句柄,skip指定显示文件名和行号的层级
skip 大于0会调用zap.AddCallerSkip
Caller(skip int)函数可以返回当前goroutine调用栈中的文件名,行号,函数信息等
参数skip表示表示返回的栈帧的层次,0表示runtime.Caller的调用者,依次往上推导
而golang 标准库中runtime.Caller(2) 返回当前goroutine调用栈中的文件名,行号,函数信息
如果直接调用这个logger库中的Info,Error等方法,这里skip=1
如果基于logger进行日志再进行封装,这个skip=2,依次类推
zap底层源码从v1.14版本之后,logger.go#260 check func
check must always be called directly by a method in the Logger interface
(e.g., Check, Info, Fatal).
LogLevel 日志级别.
LogSugar sugar语法糖,支持简单的msg信息打印 支持Debug,Info,Error,Panic,Warn,Fatal等方法.
MaxAge 日志保留时间.
MaxSize 日志大小 mb.
Panic 下面的panic,fatal一般不建议使用,除非不可恢复的panic或致命错误程序必须退出 抛出panic的时候,先记录日志,然后执行panic,退出当前goroutine.
Recover 异常捕获处理,对于异常或者panic进行捕获处理,记录到日志中,方便定位问题.
SetLogDir 日志存放目录.
SetLogFile 设置日志文件路径,如果日志文件不存在zap会自动创建文件.
TraceFileLine 是否开启记录文件名和行数.
Warn 警告类型的日志.