prysm-pulse/shared/logutil/logutil.go
Preston Van Loon 94a73e847f
Log errors in regular sync (#3070)
* add a error level logging for regular sync

* add a error level logging for regular sync

* add a error level logging for regular sync
2019-07-24 22:29:40 -04:00

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()
}