Package Profiling

- new package to use/consume CPU / MEM pprof root package
- create a file on same location as runable binary to store profile

Package HTTPClient
- add message function called on each Dial/DialContext call function
- function message can be nil

Package Server
- add generic function for recover message / catching
- implement this recovring function into runner StartStop & Ticker

Package Logger:
- implement generic recovering function into hook
- fix bug if instance is an invalid instance of fields or entry
This commit is contained in:
Nicolas JUHEL
2024-02-28 12:58:31 +01:00
parent 9b350cb499
commit a9a4d1e7c2
19 changed files with 345 additions and 36 deletions

View File

@@ -33,23 +33,45 @@ import (
// FieldAdd allow to add one couple key/val as type string/interface into the custom field of the entry.
func (e *entry) FieldAdd(key string, val interface{}) Entry {
if e == nil {
return nil
} else if e.Fields == nil {
return nil
}
e.Fields.Add(key, val)
return e
}
// FieldMerge allow to merge a Field pointer into the custom field of the entry.
func (e *entry) FieldMerge(fields logfld.Fields) Entry {
if e == nil {
return nil
} else if e.Fields == nil {
return nil
}
e.Fields.Merge(fields)
return e
}
// FieldSet allow to change the custom field of the entry with the given Fields in parameter.
func (e *entry) FieldSet(fields logfld.Fields) Entry {
if e == nil {
return nil
}
e.Fields = fields
return e
}
func (e *entry) FieldClean(keys ...string) Entry {
if e == nil {
return nil
} else if e.Fields == nil {
return nil
}
for _, k := range keys {
e.Fields.Delete(k)
}