Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b27697177 | |||
| dd89b362c8 | |||
|
eac80f6d2b
|
@@ -35,7 +35,7 @@ func generateCoreLogStr(skip int, logstr string) string {
|
||||
return logStr
|
||||
}
|
||||
|
||||
func (logger *starlog) build(thread string, isStd bool, isShow bool, handler func([]Attr, string), level int, logDetail string) {
|
||||
func (logger *starlog) build(thread string, isStd bool, isShow bool, handler func(data LogData), level int, logDetail string) {
|
||||
logger.mu.Lock()
|
||||
defer logger.mu.Unlock()
|
||||
var skip, line int = 3, 0
|
||||
@@ -80,19 +80,33 @@ func (logger *starlog) build(thread string, isStd bool, isShow bool, handler fun
|
||||
}
|
||||
if isShow {
|
||||
if !logger.showColor {
|
||||
fmt.Print(logStr)
|
||||
if level >= logger.errOutputLevel {
|
||||
fmt.Fprint(os.Stderr, logStr)
|
||||
} else {
|
||||
fmt.Print(logStr)
|
||||
}
|
||||
} else if !logger.onlyColorLevel {
|
||||
//logcolor := NewColor(logger.colorList[level]...)
|
||||
logger.colorMe[level].Fprint(stdScreen, logStr)
|
||||
if level < logger.errOutputLevel {
|
||||
logger.colorMe[level].Fprint(stdScreen, logStr)
|
||||
} else {
|
||||
logger.colorMe[level].Fprint(errScreen, logStr)
|
||||
}
|
||||
} else {
|
||||
fmt.Fprint(stdScreen, logStr)
|
||||
if level < logger.errOutputLevel {
|
||||
fmt.Fprint(stdScreen, logStr)
|
||||
} else {
|
||||
fmt.Fprint(errScreen, logStr)
|
||||
}
|
||||
}
|
||||
}
|
||||
if handler != nil {
|
||||
stacks.Push(logTransfer{
|
||||
handlerFunc: handler,
|
||||
colors: logger.colorList[level],
|
||||
logStr: logStr,
|
||||
LogData: LogData{
|
||||
Log: logStr,
|
||||
Colors: logger.colorList[level],
|
||||
Name: logger.name,
|
||||
},
|
||||
})
|
||||
}
|
||||
if !logger.stopWriter {
|
||||
@@ -130,133 +144,133 @@ func (logger *starlog) println(str ...interface{}) string {
|
||||
return fmt.Sprintln(str...)
|
||||
}
|
||||
|
||||
func (logger *starlog) Debug(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Debug(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvDebug, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Debugf(thread string, isStd bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Debugf(thread string, isStd bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvDebug, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Debugln(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Debugln(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvDebug, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Info(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Info(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvInfo, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Infof(thread string, isStd bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Infof(thread string, isStd bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvInfo, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Infoln(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Infoln(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvInfo, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Notice(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Notice(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvNotice, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Noticef(thread string, isStd bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Noticef(thread string, isStd bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvNotice, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Noticeln(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Noticeln(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvNotice, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Warning(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Warning(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvWarning, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Warningf(thread string, isStd bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Warningf(thread string, isStd bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvWarning, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Warningln(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Warningln(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvWarning, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Error(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Error(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvError, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Errorf(thread string, isStd bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Errorf(thread string, isStd bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvError, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Errorln(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Errorln(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvError, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Critical(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Critical(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvCritical, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Criticalf(thread string, isStd bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Criticalf(thread string, isStd bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvCritical, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Criticalln(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Criticalln(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvCritical, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Fatal(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Fatal(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvFatal, strs)
|
||||
os.Exit(9)
|
||||
}
|
||||
|
||||
func (logger *starlog) Fatalf(thread string, isStd bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Fatalf(thread string, isStd bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvFatal, strs)
|
||||
os.Exit(9)
|
||||
}
|
||||
|
||||
func (logger *starlog) Fatalln(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Fatalln(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvFatal, strs)
|
||||
os.Exit(9)
|
||||
}
|
||||
|
||||
func (logger *starlog) Panic(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Panic(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvPanic, strs)
|
||||
panic(str)
|
||||
}
|
||||
|
||||
func (logger *starlog) Panicf(thread string, isStd bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Panicf(thread string, isStd bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvPanic, strs)
|
||||
panic(fmt.Sprintf(format, str...))
|
||||
}
|
||||
|
||||
func (logger *starlog) Panicln(thread string, isStd bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Panicln(thread string, isStd bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, logger.showStd, handler, LvPanic, strs)
|
||||
panic(fmt.Sprintln(str...))
|
||||
}
|
||||
|
||||
func (logger *starlog) Print(thread string, isStd bool, isShow bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Print(thread string, isStd bool, isShow bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
if isShow {
|
||||
fmt.Print(strs)
|
||||
@@ -264,7 +278,7 @@ func (logger *starlog) Print(thread string, isStd bool, isShow bool, handler fun
|
||||
logger.write(strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Printf(thread string, isStd bool, isShow bool, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Printf(thread string, isStd bool, isShow bool, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
if isShow {
|
||||
fmt.Print(strs)
|
||||
@@ -272,7 +286,7 @@ func (logger *starlog) Printf(thread string, isStd bool, isShow bool, handler fu
|
||||
logger.write(strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Println(thread string, isStd bool, isShow bool, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Println(thread string, isStd bool, isShow bool, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
if isShow {
|
||||
fmt.Print(strs)
|
||||
@@ -280,17 +294,32 @@ func (logger *starlog) Println(thread string, isStd bool, isShow bool, handler f
|
||||
logger.write(strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Log(thread string, isStd bool, isShow bool, level int, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Log(thread string, isStd bool, isShow bool, level int, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.build(thread, isStd, isShow, handler, level, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Logf(thread string, isStd bool, isShow bool, level int, handler func([]Attr, string), format string, str ...interface{}) {
|
||||
func (logger *starlog) Logf(thread string, isStd bool, isShow bool, level int, handler func(LogData), format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.build(thread, isStd, isShow, handler, level, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Logln(thread string, isStd bool, isShow bool, level int, handler func([]Attr, string), str ...interface{}) {
|
||||
func (logger *starlog) Logln(thread string, isStd bool, isShow bool, level int, handler func(LogData), str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.build(thread, isStd, isShow, handler, level, strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Write(str ...interface{}) {
|
||||
strs := fmt.Sprint(str...)
|
||||
logger.Write(strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Writef(format string, str ...interface{}) {
|
||||
strs := fmt.Sprintf(format, str...)
|
||||
logger.Write(strs)
|
||||
}
|
||||
|
||||
func (logger *starlog) Writeln(str ...interface{}) {
|
||||
strs := fmt.Sprintln(str...)
|
||||
logger.Write(strs)
|
||||
}
|
||||
|
||||
@@ -3,8 +3,18 @@ module b612.me/starlog
|
||||
go 1.16
|
||||
|
||||
require (
|
||||
b612.me/notify v1.2.0 // indirect
|
||||
b612.me/starmap v1.2.0
|
||||
b612.me/staros v1.1.2
|
||||
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5
|
||||
b612.me/starmap v1.2.2
|
||||
b612.me/staros v1.1.5
|
||||
golang.org/x/sys v0.4.0
|
||||
)
|
||||
|
||||
require (
|
||||
b612.me/notify v1.2.3 // indirect
|
||||
b612.me/starcrypto v0.0.2 // indirect
|
||||
b612.me/stario v0.0.7 // indirect
|
||||
b612.me/starnet v0.1.6 // indirect
|
||||
b612.me/win32api v0.0.1 // indirect
|
||||
b612.me/wincmd v0.0.2 // indirect
|
||||
golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064 // indirect
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
|
||||
)
|
||||
|
||||
@@ -1,28 +1,32 @@
|
||||
b612.me/notify v1.2.0 h1:RedXNMLqY+TozalmdIUM27EFvZp06pzeqHn/F9G1eEs=
|
||||
b612.me/notify v1.2.0/go.mod h1:EPctpKCVnoZO1hUJTRYpOw3huTemua+SGNIuUCsnzOc=
|
||||
b612.me/starcrypto v0.0.1 h1:xGngzXPUrVbqtWzNw2e+0eWsdG7GG1/X+ONDGIzdriI=
|
||||
b612.me/starcrypto v0.0.1/go.mod h1:hz0xRnfWNpYOlVrIPoGrQOWPibq4YiUZ7qN5tsQbzPo=
|
||||
b612.me/stario v0.0.5 h1:Q1OGF+8eOoK49zMzkyh80GWaMuknhey6+PWJJL9ZuNo=
|
||||
b612.me/stario v0.0.5/go.mod h1:or4ssWcxQSjMeu+hRKEgtp0X517b3zdlEOAms8Qscvw=
|
||||
b612.me/starmap v1.2.0 h1:sRUeMRUqOyb3pAQln5U6V07kIYp0714Z3gJ/g2nCJXc=
|
||||
b612.me/starmap v1.2.0/go.mod h1:InIJXA3qVeMkvkUhCV/XPchCiNcJcVYdYV8EAOGbGZY=
|
||||
b612.me/starnet v0.1.3 h1:UjY6M96gdPdJtxnQGzCttqSwFw93sDZSHiIGtdOlFfk=
|
||||
b612.me/starnet v0.1.3/go.mod h1:j/dd6BKwQK80O4gfbGYg2aYtPH76gSdgpuKboK/DwN4=
|
||||
b612.me/staros v1.1.2 h1:jBFU1KHgn0VpyitYKwC9Zwj1GjmDBGM+fuTyV0yGXRo=
|
||||
b612.me/staros v1.1.2/go.mod h1:9kNWVJWNJfs2MiWEt7X3SO+ixYKPGqus1ShTy8hpfU0=
|
||||
b612.me/notify v1.2.3 h1:4w5zDakubC8jIPg4JT8DANczSMxRhwEFjM/2A0dvuvY=
|
||||
b612.me/notify v1.2.3/go.mod h1:VV29yq3KXTKJKSSjr5yS9bD2c2MGzuypYalfL9yGQ6M=
|
||||
b612.me/starcrypto v0.0.2 h1:aRf1HcqK8GqHYxLAhWfFC4W/EqQLEFNEmxsBu3wG30o=
|
||||
b612.me/starcrypto v0.0.2/go.mod h1:hz0xRnfWNpYOlVrIPoGrQOWPibq4YiUZ7qN5tsQbzPo=
|
||||
b612.me/stario v0.0.7 h1:QbQcsHCVLE6vRgVrPN4+9DGiSaC6IWdtm4ClL2tpMUg=
|
||||
b612.me/stario v0.0.7/go.mod h1:or4ssWcxQSjMeu+hRKEgtp0X517b3zdlEOAms8Qscvw=
|
||||
b612.me/starmap v1.2.2 h1:1OQbd0XXU7G/cHvkj9lEZg8sLZWZEcYlRjYzDxRc4N0=
|
||||
b612.me/starmap v1.2.2/go.mod h1:fXb1SF8+BrkHlhSMQAJ/DUTYpqhNimPukpqzUIRio4U=
|
||||
b612.me/starnet v0.1.6 h1:/QaaKpuXfvJm6ayvk85jaLaKBmO1zx+XSxfnlSB3xGw=
|
||||
b612.me/starnet v0.1.6/go.mod h1:JjFLTMPsWsPei7AiXwBTt4QCoB9gux1XS7SHv/Ux+D4=
|
||||
b612.me/staros v1.1.5 h1:0Mkk0TOYoI9SOUf50X2Amb+/4p2lopMntOzV5nPKEeg=
|
||||
b612.me/staros v1.1.5/go.mod h1:JcmVUeFbuITVnwPqxCr6R9yDbBmFrfyhdk2HVdZMXYw=
|
||||
b612.me/win32api v0.0.1 h1:vLFB1xhO6pd9+zB2EyaapKB459Urv3v+C1YwgwOFEWo=
|
||||
b612.me/win32api v0.0.1/go.mod h1:MHu0JBQjzxQ2yxpZPUBbn5un45o67eF5iWKa4Q9e0yE=
|
||||
b612.me/wincmd v0.0.1 h1:4+RCFKHuD/JqAYsdtO6sTNKJs1nQVMQo87h6KhTJjkM=
|
||||
b612.me/wincmd v0.0.1/go.mod h1:32xTM7qWAI7jx6qwTrig05rxejSYbSp7CX5WD7qsMxY=
|
||||
golang.org/x/crypto v0.0.0-20220313003712-b769efc7c000 h1:SL+8VVnkqyshUSz5iNnXtrBQzvFF2SkROm6t5RczFAE=
|
||||
b612.me/wincmd v0.0.2 h1:Ub1WtelVT6a3vD4B6zDYo3UPO/t9ymnI3x1dQPJcrGw=
|
||||
b612.me/wincmd v0.0.2/go.mod h1:bwpyCKfSDY8scSMo3Lrd0Qnqvpz7/CILL7oodfG0wgo=
|
||||
golang.org/x/crypto v0.0.0-20220313003712-b769efc7c000/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064 h1:S25/rfnfsMVgORT4/J61MJ7rdyseOZOyvLIrZEZ7s6s=
|
||||
golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5 h1:y/woIyUBFbpQGKS0u1aHF/40WUDnek3fPOyD08H5Vng=
|
||||
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
|
||||
golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
|
||||
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
|
||||
+2
-3
@@ -16,7 +16,6 @@ func init() {
|
||||
stacks = starmap.NewStarStack(1024)
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
stackStopChan = make(chan int)
|
||||
StartStacks()
|
||||
Std = NewStarlog(nil)
|
||||
}
|
||||
|
||||
@@ -262,10 +261,10 @@ func GetWriter() io.Writer {
|
||||
return Std.GetWriter()
|
||||
}
|
||||
|
||||
func SetHandler(f func([]Attr, string)) {
|
||||
func SetHandler(f func(LogData)) {
|
||||
Std.SetHandler(f)
|
||||
}
|
||||
func GetHandler() func([]Attr, string) {
|
||||
func GetHandler() func(LogData) {
|
||||
return Std.GetHandler()
|
||||
}
|
||||
func SetSwitching(sw bool) {
|
||||
|
||||
+17
-2
@@ -28,10 +28,13 @@ func (logger *StarLogger) GetWriter() io.Writer {
|
||||
return logger.logcore.output
|
||||
}
|
||||
|
||||
func (logger *StarLogger) SetHandler(f func([]Attr, string)) {
|
||||
func (logger *StarLogger) SetHandler(f func(LogData)) {
|
||||
if f != nil {
|
||||
StartStacks()
|
||||
}
|
||||
logger.handlerFunc = f
|
||||
}
|
||||
func (logger *StarLogger) GetHandler() func([]Attr, string) {
|
||||
func (logger *StarLogger) GetHandler() func(LogData) {
|
||||
return logger.handlerFunc
|
||||
}
|
||||
func (logger *StarLogger) SetSwitching(sw bool) {
|
||||
@@ -204,3 +207,15 @@ func (logger *StarLogger) Logf(showLog bool, level int, format string, str ...in
|
||||
func (logger *StarLogger) Logln(showLog bool, level int, str ...interface{}) {
|
||||
logger.logcore.Logln(logger.thread, logger.isStd, showLog, level, logger.handlerFunc, str...)
|
||||
}
|
||||
|
||||
func (logger *StarLogger) Write(str ...interface{}) {
|
||||
logger.logcore.Write(str...)
|
||||
}
|
||||
|
||||
func (logger *StarLogger) Writef(format string, str ...interface{}) {
|
||||
logger.logcore.Writef(format, str...)
|
||||
}
|
||||
|
||||
func (logger *StarLogger) Writeln(str ...interface{}) {
|
||||
logger.logcore.Writeln(str...)
|
||||
}
|
||||
|
||||
@@ -38,11 +38,13 @@ var (
|
||||
stackStopChan chan int
|
||||
stackMu sync.Mutex
|
||||
stdScreen io.Writer = colorable.NewColorableStdout()
|
||||
errScreen io.Writer = colorable.NewColorableStderr()
|
||||
)
|
||||
|
||||
type starlog struct {
|
||||
mu *sync.Mutex
|
||||
output io.Writer
|
||||
errOutputLevel int
|
||||
showFuncName bool
|
||||
showThread bool
|
||||
showLevel bool
|
||||
@@ -53,28 +55,34 @@ type starlog struct {
|
||||
onlyColorLevel bool
|
||||
stopWriter bool
|
||||
id string
|
||||
|
||||
colorList map[int][]Attr
|
||||
colorMe map[int]*Color
|
||||
name string
|
||||
colorList map[int][]Attr
|
||||
colorMe map[int]*Color
|
||||
}
|
||||
|
||||
type StarLogger struct {
|
||||
thread string
|
||||
handlerFunc func([]Attr, string)
|
||||
handlerFunc func(LogData)
|
||||
logcore *starlog
|
||||
isStd bool
|
||||
}
|
||||
|
||||
type logTransfer struct {
|
||||
handlerFunc func([]Attr, string)
|
||||
colors []Attr
|
||||
logStr string
|
||||
handlerFunc func(LogData)
|
||||
LogData
|
||||
}
|
||||
|
||||
type LogData struct {
|
||||
Name string
|
||||
Log string
|
||||
Colors []Attr
|
||||
}
|
||||
|
||||
func newLogCore(out io.Writer) *starlog {
|
||||
return &starlog{
|
||||
mu: &sync.Mutex{},
|
||||
output: out,
|
||||
errOutputLevel: LvError,
|
||||
showFuncName: true,
|
||||
showThread: true,
|
||||
showLevel: true,
|
||||
@@ -87,7 +95,7 @@ func newLogCore(out io.Writer) *starlog {
|
||||
colorList: map[int][]Attr{
|
||||
LvDebug: []Attr{FgWhite},
|
||||
LvInfo: []Attr{FgGreen},
|
||||
LvNotice: []Attr{FgBlue},
|
||||
LvNotice: []Attr{FgCyan},
|
||||
LvWarning: []Attr{FgYellow},
|
||||
LvError: []Attr{FgMagenta},
|
||||
LvCritical: []Attr{FgRed, Bold},
|
||||
@@ -97,7 +105,7 @@ func newLogCore(out io.Writer) *starlog {
|
||||
colorMe: map[int]*Color{
|
||||
LvDebug: NewColor([]Attr{FgWhite}...),
|
||||
LvInfo: NewColor([]Attr{FgGreen}...),
|
||||
LvNotice: NewColor([]Attr{FgBlue}...),
|
||||
LvNotice: NewColor([]Attr{FgCyan}...),
|
||||
LvWarning: NewColor([]Attr{FgYellow}...),
|
||||
LvError: NewColor([]Attr{FgMagenta}...),
|
||||
LvCritical: NewColor([]Attr{FgRed, Bold}...),
|
||||
@@ -116,6 +124,18 @@ func NewStarlog(out io.Writer) *StarLogger {
|
||||
}
|
||||
}
|
||||
|
||||
func (logger *StarLogger) StdErrLevel() int {
|
||||
logger.logcore.mu.Lock()
|
||||
defer logger.logcore.mu.Unlock()
|
||||
return logger.logcore.errOutputLevel
|
||||
}
|
||||
|
||||
func (logger *StarLogger) SetStdErrLevel(level int) {
|
||||
logger.logcore.mu.Lock()
|
||||
defer logger.logcore.mu.Unlock()
|
||||
logger.logcore.errOutputLevel = level
|
||||
}
|
||||
|
||||
func (logger *StarLogger) NewFlag() *StarLogger {
|
||||
return &StarLogger{
|
||||
thread: getRandomFlag(false),
|
||||
@@ -128,6 +148,16 @@ func (logger *StarLogger) SetNewRandomFlag() {
|
||||
logger.thread = getRandomFlag(false)
|
||||
}
|
||||
|
||||
func (logger *StarLogger) SetName(name string) {
|
||||
logger.logcore.mu.Lock()
|
||||
defer logger.logcore.mu.Unlock()
|
||||
logger.logcore.name = name
|
||||
}
|
||||
|
||||
func (logger *StarLogger) GetName() string {
|
||||
return logger.logcore.name
|
||||
}
|
||||
|
||||
func getRandomFlag(isMain bool) string {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
if isMain {
|
||||
@@ -170,7 +200,7 @@ func StartStacks() {
|
||||
}
|
||||
val := poped.(logTransfer)
|
||||
if val.handlerFunc != nil {
|
||||
val.handlerFunc(val.colors, val.logStr)
|
||||
val.handlerFunc(val.LogData)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
Reference in New Issue
Block a user