mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00

* Add stability-tests * Fix requires * Fix golint errors * Update README.md * Remove payloadHash from everywhere * don't run vet on kaspad in stability-tests/install_and_test
73 lines
2.1 KiB
Go
73 lines
2.1 KiB
Go
package common
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/kaspanet/kaspad/infrastructure/logger"
|
|
"github.com/kaspanet/kaspad/stability-tests/common/mine"
|
|
"github.com/kaspanet/kaspad/stability-tests/common/rpc"
|
|
"github.com/kaspanet/kaspad/util/panics"
|
|
)
|
|
|
|
// log is a logger that is initialized with no output filters. This
|
|
// means the package will not perform any logging by default until the caller
|
|
// requests it.
|
|
var log *logger.Logger
|
|
var spawn func(name string, spawnedFunction func())
|
|
|
|
const logSubsytem = "STCM"
|
|
|
|
// The default amount of logging is none.
|
|
func init() {
|
|
DisableLog()
|
|
}
|
|
|
|
// DisableLog disables all library log output. Logging output is disabled
|
|
// by default until UseLogger is called.
|
|
func DisableLog() {
|
|
backend := logger.NewBackend()
|
|
log = backend.Logger(logSubsytem)
|
|
log.SetLevel(logger.LevelOff)
|
|
spawn = panics.GoroutineWrapperFunc(log)
|
|
logger.SetLogLevels(logger.LevelOff)
|
|
logger.InitLogStdout(logger.LevelInfo)
|
|
}
|
|
|
|
// UseLogger uses a specified Logger to output package logging info.
|
|
func UseLogger(backend *logger.Backend, level logger.Level) {
|
|
log = backend.Logger(logSubsytem)
|
|
log.SetLevel(level)
|
|
spawn = panics.GoroutineWrapperFunc(log)
|
|
|
|
mine.UseLogger(backend, level)
|
|
rpc.UseLogger(backend, level)
|
|
logger.SetLogLevels(level)
|
|
}
|
|
|
|
// InitBackend initializes the test log backend
|
|
func InitBackend(backendLog *logger.Backend, logFile, errLogFile string) {
|
|
err := backendLog.AddLogFile(logFile, logger.LevelTrace)
|
|
if err != nil {
|
|
_, _ = fmt.Fprintf(os.Stderr, "Error adding log file %s as log rotator for level %s: %+v\n", logFile, logger.LevelTrace, err)
|
|
os.Exit(1)
|
|
}
|
|
err = backendLog.AddLogFile(errLogFile, logger.LevelWarn)
|
|
if err != nil {
|
|
_, _ = fmt.Fprintf(os.Stderr, "Error adding log file %s as log rotator for level %s: %+v\n", errLogFile, logger.LevelWarn, err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
err = backendLog.AddLogWriter(os.Stdout, logger.LevelDebug)
|
|
if err != nil {
|
|
_, _ = fmt.Fprintf(os.Stderr, "Error adding stdout to the loggerfor level %s: %+v\n", logger.LevelInfo, err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
err = backendLog.Run()
|
|
if err != nil {
|
|
_, _ = fmt.Fprintf(os.Stderr, "Error starting the logger: %s ", err)
|
|
os.Exit(1)
|
|
}
|
|
}
|