forked from forgejo/forgejo
Pause, Resume, Release&Reopen, Add and Remove Logging from command line (#11777)
* Make LogDescriptions race safe * Add manager commands for pausing, resuming, adding and removing loggers Signed-off-by: Andrew Thornton <art27@cantab.net> * Placate lint * Ensure that file logger is run! * Add support for smtp and conn Signed-off-by: Andrew Thornton <art27@cantab.net> * Add release-and-reopen Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
parent
38fb087d19
commit
c5b08f6d5a
17 changed files with 924 additions and 17 deletions
|
@ -5,6 +5,7 @@
|
|||
package log
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
@ -192,6 +193,42 @@ func IsFatal() bool {
|
|||
return GetLevel() <= FATAL
|
||||
}
|
||||
|
||||
// Pause pauses all the loggers
|
||||
func Pause() {
|
||||
NamedLoggers.Range(func(key, value interface{}) bool {
|
||||
logger := value.(*Logger)
|
||||
logger.Pause()
|
||||
logger.Flush()
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
// Resume resumes all the loggers
|
||||
func Resume() {
|
||||
NamedLoggers.Range(func(key, value interface{}) bool {
|
||||
logger := value.(*Logger)
|
||||
logger.Resume()
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
// ReleaseReopen releases and reopens logging files
|
||||
func ReleaseReopen() error {
|
||||
var accumulatedErr error
|
||||
NamedLoggers.Range(func(key, value interface{}) bool {
|
||||
logger := value.(*Logger)
|
||||
if err := logger.ReleaseReopen(); err != nil {
|
||||
if accumulatedErr == nil {
|
||||
accumulatedErr = fmt.Errorf("Error reopening %s: %v", key.(string), err)
|
||||
} else {
|
||||
accumulatedErr = fmt.Errorf("Error reopening %s: %v & %v", key.(string), err, accumulatedErr)
|
||||
}
|
||||
}
|
||||
return true
|
||||
})
|
||||
return accumulatedErr
|
||||
}
|
||||
|
||||
// Close closes all the loggers
|
||||
func Close() {
|
||||
l, ok := NamedLoggers.Load(DEFAULT)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue