Browse Source

debug

master
otto 1 year ago
parent
commit
8fa1e676b6
  1. 3
      .gitignore
  2. 1
      README.md
  3. 47
      log.go
  4. 1
      logger.go

3
.gitignore vendored

@ -37,4 +37,5 @@ bin/
.vscode/
.idea/
*.swp
wendor
wendor
t/

1
README.md

@ -14,6 +14,7 @@ Elasticsearch:日志数据存储库。
log:
level: "debug" # 日志 debug:调试, panic:详情调试,info|nil:不打印
name: "room" # 日志链名称
debug: ture # debug模式开始将全部日志都不推送到日志服务
kafka: # kafka 配置具体参考
addr:
- "127.0.0.1:9092"

47
log.go

@ -22,7 +22,7 @@ const (
// LevelDebug 终端打印
LevelDebug = "DEBUG"
// LevelInfo 写入日志,生产使用
// LevelInfo 不打印
LevelInfo = "INFO"
// LevelPath 写入文件【待开发】
@ -62,22 +62,25 @@ type SystemLog struct {
}
type klogger struct {
level string
pool *sync.Pool
logger klog.Logger
prefix []interface{}
hasValuer bool
ctx context.Context
path string
// 日志等级
level string
// 日志服务池
pool *sync.Pool
// kratos日志包
logger klog.Logger
//prefix []interface{}
//hasValuer bool
ctx context.Context
path string
// 是否
debug bool
}
func NewKLogger(c *conf.Log) klog.Logger {
if c.Level == "" {
c.Level = LevelDebug
} else {
c.Level = strings.ToUpper(c.Level)
}
switch c.Level {
case "":
c.Level = LevelDebug
@ -88,15 +91,21 @@ func NewKLogger(c *conf.Log) klog.Logger {
default:
c.Level = strings.ToUpper(c.Level)
}
kl := &klogger{
level: c.Level,
path: c.Path,
debug: c.Debug,
}
kl.pool = &sync.Pool{
New: func() interface{} {
return kafka.NewSender(c.Kafka, LogKafkaTopic)
},
if !c.Debug {
kl.pool = &sync.Pool{
New: func() interface{} {
return kafka.NewSender(c.Kafka, LogKafkaTopic)
},
}
}
return kl
}
@ -140,7 +149,7 @@ func (l *klogger) Log(level klog.Level, keyvals ...interface{}) error {
}
// 忽略debug的打印
if level.String() != LevelDebug {
if level.String() != LevelDebug && !l.debug {
go func() {
sender := l.pool.Get().(*kafka.Sender)
if sender != nil {

1
logger.go

@ -60,6 +60,7 @@ func NewLogger(c *conf.Log, opts ...klog.Option) Logger {
func DefaultLogger() Logger {
l := NewKLogger(&conf.Log{
Level: LevelDebug,
Debug: true,
})
return &logger{
logger: l,

Loading…
Cancel
Save