mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-15 00:04:46 +08:00
新增日志接口--SetSkip/GetSkip
This commit is contained in:
@@ -10,16 +10,20 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const defaultSkip = 7
|
||||||
type IOriginHandler interface {
|
type IOriginHandler interface {
|
||||||
slog.Handler
|
slog.Handler
|
||||||
Lock()
|
Lock()
|
||||||
UnLock()
|
UnLock()
|
||||||
|
SetSkip(skip int)
|
||||||
|
GetSkip() int
|
||||||
}
|
}
|
||||||
|
|
||||||
type BaseHandler struct {
|
type BaseHandler struct {
|
||||||
addSource bool
|
addSource bool
|
||||||
w io.Writer
|
w io.Writer
|
||||||
locker sync.Mutex
|
locker sync.Mutex
|
||||||
|
skip int
|
||||||
}
|
}
|
||||||
|
|
||||||
type OriginTextHandler struct {
|
type OriginTextHandler struct {
|
||||||
@@ -32,6 +36,14 @@ type OriginJsonHandler struct {
|
|||||||
*slog.JSONHandler
|
*slog.JSONHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bh *BaseHandler) SetSkip(skip int){
|
||||||
|
bh.skip = skip
|
||||||
|
}
|
||||||
|
|
||||||
|
func (bh *BaseHandler) GetSkip() int{
|
||||||
|
return bh.skip
|
||||||
|
}
|
||||||
|
|
||||||
func getStrLevel(level slog.Level) string{
|
func getStrLevel(level slog.Level) string{
|
||||||
switch level {
|
switch level {
|
||||||
case LevelTrace:
|
case LevelTrace:
|
||||||
@@ -78,6 +90,7 @@ func NewOriginTextHandler(level slog.Level,w io.Writer,addSource bool,replaceAtt
|
|||||||
ReplaceAttr: replaceAttr,
|
ReplaceAttr: replaceAttr,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
textHandler.skip = defaultSkip
|
||||||
return &textHandler
|
return &textHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,6 +137,7 @@ func NewOriginJsonHandler(level slog.Level,w io.Writer,addSource bool,replaceAtt
|
|||||||
ReplaceAttr: replaceAttr,
|
ReplaceAttr: replaceAttr,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
jsonHandler.skip = defaultSkip
|
||||||
return &jsonHandler
|
return &jsonHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +155,7 @@ func (oh *OriginJsonHandler) Handle(context context.Context, record slog.Record)
|
|||||||
func (b *BaseHandler) Fill(context context.Context, record *slog.Record) {
|
func (b *BaseHandler) Fill(context context.Context, record *slog.Record) {
|
||||||
if b.addSource {
|
if b.addSource {
|
||||||
var pcs [1]uintptr
|
var pcs [1]uintptr
|
||||||
runtime.Callers(7, pcs[:])
|
runtime.Callers(b.skip, pcs[:])
|
||||||
record.PC = pcs[0]
|
record.PC = pcs[0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,6 +239,10 @@ func (iw *IoWriter) swichFile() error{
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetDefaultHandler() IOriginHandler{
|
||||||
|
return gLogger.(*Logger).Slogger.Handler().(IOriginHandler)
|
||||||
|
}
|
||||||
|
|
||||||
func NewTextLogger(level slog.Level,pathName string,filePrefix string,addSource bool,logChannelCap int) (ILogger,error){
|
func NewTextLogger(level slog.Level,pathName string,filePrefix string,addSource bool,logChannelCap int) (ILogger,error){
|
||||||
var logger Logger
|
var logger Logger
|
||||||
logger.ioWriter.filePath = pathName
|
logger.ioWriter.filePath = pathName
|
||||||
|
|||||||
Reference in New Issue
Block a user