arnaucube
arnaucube/hermez-nodePublic Self-hosted repository
Merge pull request #479 from hermeznetwork/feature/log-outputs

Add opt to disable print logs but storing to file
Eduard S eduard@iden3.io
Tue, 12 Jan 2021 19:13:44 +0100
commit

5becadfa6e28ec7117e380e4b361b7d6726849ed

parent

1550b69f26f346eeb194932503ce220ce608fac9

2 files changed, 9 insertions(+), 12 deletions(-)

jump to
M log/log.go → log/log.go

@@ -14,26 +14,25 @@ var log *zap.SugaredLogger

func init() { // default level: debug - Init("debug", "") + Init("debug", []string{"stdout"}) } -// Init the logger with defined level. errorsPath defines the file where to store the errors, if set to "" will not store errors. -func Init(levelStr, logPath string) { +// Init the logger with defined level. outputs defines the outputs where the +// logs will be sent. By default outputs contains "stdout", which prints the +// logs at the output of the process. To add a log file as output, the path +// should be added at the outputs array. To avoid printing the logs but storing +// them on a file, can use []string{"pathtofile.log"} +func Init(levelStr string, outputs []string) { var level zap.AtomicLevel err := level.UnmarshalText([]byte(levelStr)) if err != nil { panic(fmt.Errorf("Error on setting log level: %s", err)) } - outputPaths := []string{"stdout"} - if logPath != "" { - log.Infof("log file: %s", logPath) - outputPaths = append(outputPaths, logPath) - } cfg := zap.Config{ Level: level, Encoding: "console", - OutputPaths: outputPaths, + OutputPaths: outputs, ErrorOutputPaths: []string{"stderr"}, EncoderConfig: zapcore.EncoderConfig{ MessageKey: "message",

@@ -64,8 +63,6 @@ //nolint:errcheck

defer logger.Sync() withOptions := logger.WithOptions(zap.AddCallerSkip(1)) log = withOptions.Sugar() - - log.Infof("log level: %s", level) } func sprintStackTrace(st []tracerr.Frame) string {
M log/log_test.go → log/log_test.go

@@ -5,7 +5,7 @@ "testing"

) func TestLog(t *testing.T) { - // Init("debug", "test.log") + // Init("error", []string{"stdout", "test.log"}) Info("Test log.Info", " value is ", 10) Infof("Test log.Infof %d", 10)