go.wit.com/log change
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
6c5a9f6ed5
commit
115da18f5a
1
error.go
1
error.go
|
@ -5,6 +5,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func Error(err error, a ...any) {
|
func Error(err error, a ...any) {
|
||||||
|
if ! ERROR.Ok() { return }
|
||||||
if ! ERROR.b { return }
|
if ! ERROR.b { return }
|
||||||
origlog.Println("Error:", err)
|
origlog.Println("Error:", err)
|
||||||
origlog.Println(a...)
|
origlog.Println(a...)
|
||||||
|
|
97
flags.go
97
flags.go
|
@ -27,14 +27,14 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
var INFO LogFlag
|
var INFO *LogFlag
|
||||||
var VERBOSE LogFlag
|
var VERBOSE *LogFlag
|
||||||
var SPEW LogFlag
|
var SPEW *LogFlag
|
||||||
var WARN LogFlag
|
var WARN *LogFlag
|
||||||
var ERROR LogFlag
|
var ERROR *LogFlag
|
||||||
var PRINTLN LogFlag
|
var PRINTLN *LogFlag
|
||||||
|
|
||||||
var always LogFlag
|
var always *LogFlag
|
||||||
|
|
||||||
// writeMutex protects locks the write process
|
// writeMutex protects locks the write process
|
||||||
var flagsMutex sync.Mutex
|
var flagsMutex sync.Mutex
|
||||||
|
@ -53,34 +53,22 @@ var flags []*LogFlag
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
full := "go.wit.com/log"
|
full := "go.wit.com/log"
|
||||||
short := "gui"
|
short := "log"
|
||||||
|
|
||||||
INFO.NewFlag("INFO", false, full, short, "Enable log.Info()")
|
INFO = NewFlag("INFO", false, full, short, "Enable log.Info()")
|
||||||
SPEW.NewFlag("SPEW", false, full, short, "Enable log.Spew()")
|
SPEW = NewFlag("SPEW", false, full, short, "Enable log.Spew()")
|
||||||
WARN.NewFlag("WARN", true, full, short, "Enable log.Warn()")
|
WARN = NewFlag("WARN", true, full, short, "Enable log.Warn()")
|
||||||
|
|
||||||
VERBOSE.b = false
|
ERROR = NewFlag("ERROR", true, full, short, "Enable log.Error()")
|
||||||
VERBOSE.name = "VERBOSE"
|
PRINTLN = NewFlag("PRINTLN", true, full, short, "Enable log.Println()")
|
||||||
VERBOSE.subsystem = "log"
|
VERBOSE = NewFlag("VERBOSE", false, full, short, "Enable log.Verbose()")
|
||||||
VERBOSE.desc = "Enable log.Verbose()"
|
|
||||||
VERBOSE.Register()
|
|
||||||
|
|
||||||
ERROR.b = true
|
always = NewFlag("always", true, full, short, "internal only")
|
||||||
ERROR.name = "ERROR"
|
}
|
||||||
ERROR.subsystem = "log"
|
|
||||||
ERROR.desc = "Enable log.Error()"
|
|
||||||
ERROR.Register()
|
|
||||||
|
|
||||||
PRINTLN.b = true
|
func (f *LogFlag) Ok() bool {
|
||||||
PRINTLN.name = "PRINTLN"
|
if f == nil {return false}
|
||||||
PRINTLN.subsystem = "log"
|
return true
|
||||||
PRINTLN.desc = "Enable log.Println()"
|
|
||||||
PRINTLN.Register()
|
|
||||||
|
|
||||||
always.b = true
|
|
||||||
always.subsystem = "log"
|
|
||||||
always.short = "log"
|
|
||||||
always.Register()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// set all the flags
|
// set all the flags
|
||||||
|
@ -114,6 +102,7 @@ func ShowFlags() []*LogFlag {
|
||||||
defer flagsMutex.Unlock()
|
defer flagsMutex.Unlock()
|
||||||
for _, f := range flags {
|
for _, f := range flags {
|
||||||
Log(always, "ShowFlags() ", "(" + f.subsystem + ")", f.name, "=", f.b, ":", f.desc)
|
Log(always, "ShowFlags() ", "(" + f.subsystem + ")", f.name, "=", f.b, ":", f.desc)
|
||||||
|
Jeff(always, "ShowFlags() ", "(" + f.subsystem + ")", f.name, "=", f.b, ":", f.desc)
|
||||||
}
|
}
|
||||||
|
|
||||||
return flags
|
return flags
|
||||||
|
@ -130,26 +119,6 @@ func ProcessFlags(callback func(*LogFlag)) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// register a variable name from a subsystem
|
|
||||||
// inspired by Alex Flint
|
|
||||||
// set the Default value at the time of registration
|
|
||||||
func (f *LogFlag) Register() {
|
|
||||||
flagsMutex.Lock()
|
|
||||||
defer flagsMutex.Unlock()
|
|
||||||
Info("log.Register() ", f)
|
|
||||||
f.orig = f.b
|
|
||||||
if f.short == "" {
|
|
||||||
f.short = f.subsystem
|
|
||||||
}
|
|
||||||
flags = append(flags,f)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *LogFlag) Ok() bool {
|
|
||||||
if f == nil {return false}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *LogFlag) Get() bool {
|
func (f *LogFlag) Get() bool {
|
||||||
if ! f.Ok() {return false}
|
if ! f.Ok() {return false}
|
||||||
return f.b
|
return f.b
|
||||||
|
@ -170,12 +139,17 @@ func (f *LogFlag) GetDesc() string {
|
||||||
return f.desc
|
return f.desc
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is what the current log.SetFlag() function should become
|
// register a variable name from a subsystem
|
||||||
|
// inspired by Alex Flint
|
||||||
|
// set the Default value at the time of registration
|
||||||
|
|
||||||
|
/*
|
||||||
|
// this is what the glibc log.SetFlag() function should become
|
||||||
func (f *LogFlag) NewFlag(name string, b bool, full, short, desc string) {
|
func (f *LogFlag) NewFlag(name string, b bool, full, short, desc string) {
|
||||||
if f != nil {return}
|
if f != nil {return}
|
||||||
flagsMutex.Lock()
|
flagsMutex.Lock()
|
||||||
defer flagsMutex.Unlock()
|
defer flagsMutex.Unlock()
|
||||||
Info("log.SetFlag() ", full, short, name, true)
|
Log(always, "log.SetFlag() ", full, short, name, true)
|
||||||
f = new(LogFlag)
|
f = new(LogFlag)
|
||||||
f.b = b
|
f.b = b
|
||||||
f.orig = b
|
f.orig = b
|
||||||
|
@ -185,6 +159,23 @@ func (f *LogFlag) NewFlag(name string, b bool, full, short, desc string) {
|
||||||
f.desc = desc
|
f.desc = desc
|
||||||
flags = append(flags,f)
|
flags = append(flags,f)
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
// this is what the current log.SetFlag() function should become
|
||||||
|
func NewFlag(name string, b bool, full, short, desc string) *LogFlag {
|
||||||
|
flagsMutex.Lock()
|
||||||
|
defer flagsMutex.Unlock()
|
||||||
|
f := new(LogFlag)
|
||||||
|
Log(always, "log.SetFlag() ", full, short, name, true)
|
||||||
|
f.b = b
|
||||||
|
f.orig = b
|
||||||
|
f.short = short
|
||||||
|
f.subsystem = full
|
||||||
|
f.name = name
|
||||||
|
f.desc = desc
|
||||||
|
flags = append(flags,f)
|
||||||
|
return f
|
||||||
|
}
|
||||||
|
|
||||||
func (f *LogFlag) Set(b bool) {
|
func (f *LogFlag) Set(b bool) {
|
||||||
flagsMutex.Lock()
|
flagsMutex.Lock()
|
||||||
|
|
5
go.mod
5
go.mod
|
@ -1,5 +0,0 @@
|
||||||
module go.wit.com/log
|
|
||||||
|
|
||||||
go 1.21.4
|
|
||||||
|
|
||||||
require go.wit.com/spew v0.0.0-20240101141411-c7b8e91573c9
|
|
2
go.sum
2
go.sum
|
@ -1,2 +0,0 @@
|
||||||
go.wit.com/spew v0.0.0-20240101141411-c7b8e91573c9 h1:UEX2EzLQPzLTfy/kUFQD7OXtvKn8wk/+jpDOkbl4ff4=
|
|
||||||
go.wit.com/spew v0.0.0-20240101141411-c7b8e91573c9/go.mod h1:qBpgJXThMMT15vym7/E4Ur9y8oOo2nP7t2RP52QHUNw=
|
|
2
info.go
2
info.go
|
@ -5,11 +5,13 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func Info(a ...any) {
|
func Info(a ...any) {
|
||||||
|
if ! INFO.Ok() { return }
|
||||||
if ! INFO.b { return }
|
if ! INFO.b { return }
|
||||||
golanglog.Println(a...)
|
golanglog.Println(a...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Infof(s string, a ...any) {
|
func Infof(s string, a ...any) {
|
||||||
|
if ! INFO.Ok() { return }
|
||||||
if ! INFO.b { return }
|
if ! INFO.b { return }
|
||||||
golanglog.Printf(s, a...)
|
golanglog.Printf(s, a...)
|
||||||
}
|
}
|
||||||
|
|
25
log.go
25
log.go
|
@ -20,18 +20,31 @@ In your package, register NETWARN:
|
||||||
log.Register("myNetPkg", "NETWARN", &NETWARN)
|
log.Register("myNetPkg", "NETWARN", &NETWARN)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
func Log(f LogFlag, a ...any) {
|
func Log(f *LogFlag, a ...any) {
|
||||||
if ! f.b {
|
if ! f.Ok() {return}
|
||||||
|
if ! f.Get() { return }
|
||||||
|
a = append([]any{f.short}, a...)
|
||||||
|
origlog.Println(a...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Jeff(f *LogFlag, a ...any) {
|
||||||
|
if ! f.Ok() {
|
||||||
|
origlog.Println("f == nil")
|
||||||
|
origlog.Println(a...)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if ! f.Get() {
|
||||||
|
origlog.Println("f.Get() =")
|
||||||
|
origlog.Println(a...)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
a = append([]any{f.short}, a...)
|
a = append([]any{f.short}, a...)
|
||||||
origlog.Println(a...)
|
origlog.Println(a...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Logf(f LogFlag, s string, a ...any) {
|
func Logf(f *LogFlag, s string, a ...any) {
|
||||||
if ! f.b {
|
if ! f.Ok() {return}
|
||||||
return
|
if ! f.Get() { return }
|
||||||
}
|
|
||||||
s = f.short + " " + s
|
s = f.short + " " + s
|
||||||
origlog.Printf(s, a...)
|
origlog.Printf(s, a...)
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,11 +55,13 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func Println(a ...any) {
|
func Println(a ...any) {
|
||||||
|
if ! PRINTLN.Ok() { return }
|
||||||
if ! PRINTLN.b { return }
|
if ! PRINTLN.b { return }
|
||||||
origlog.Println(a...)
|
origlog.Println(a...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Printf(s string, a ...any) {
|
func Printf(s string, a ...any) {
|
||||||
|
if ! PRINTLN.Ok() { return }
|
||||||
if ! PRINTLN.b { return }
|
if ! PRINTLN.b { return }
|
||||||
origlog.Printf(s, a...)
|
origlog.Printf(s, a...)
|
||||||
}
|
}
|
||||||
|
|
1
spew.go
1
spew.go
|
@ -6,6 +6,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func Spew(b any, a ...any) {
|
func Spew(b any, a ...any) {
|
||||||
|
if ! SPEW.Ok() { return }
|
||||||
if ! SPEW.b { return }
|
if ! SPEW.b { return }
|
||||||
|
|
||||||
switch b.(type) {
|
switch b.(type) {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func Verbose(a ...any) {
|
func Verbose(a ...any) {
|
||||||
|
if ! VERBOSE.Ok() { return }
|
||||||
if ! VERBOSE.b { return }
|
if ! VERBOSE.b { return }
|
||||||
golanglog.Println(a...)
|
golanglog.Println(a...)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue