mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-26 13:18:57 +00:00
94a73e847f
* add a error level logging for regular sync * add a error level logging for regular sync * add a error level logging for regular sync
33 lines
859 B
Go
33 lines
859 B
Go
// Package logutil creates a Multi writer instance that
|
|
// write all logs that are written to stdout.
|
|
package logutil
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
"reflect"
|
|
"runtime"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
// ConfigurePersistentLogging adds a log-to-file writer. File content is identical to stdout.
|
|
func ConfigurePersistentLogging(logFileName string) error {
|
|
logrus.WithField("logFileName", logFileName).Info("Logs will be made persistent")
|
|
f, err := os.OpenFile(logFileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
mw := io.MultiWriter(os.Stdout, f)
|
|
logrus.SetOutput(mw)
|
|
|
|
logrus.Info("File logging initialized")
|
|
return nil
|
|
}
|
|
|
|
// FunctionName returns the string representation of the function name for some interface.
|
|
func FunctionName(i interface{}) string {
|
|
return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name()
|
|
}
|