From 1d8193b892bf63db6b91c66b9d048873bf1bc4cf Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Fri, 15 Dec 2017 18:55:57 -0800 Subject: Add logger --- logger/logger.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 logger/logger.go (limited to 'logger') diff --git a/logger/logger.go b/logger/logger.go new file mode 100644 index 0000000..e608503 --- /dev/null +++ b/logger/logger.go @@ -0,0 +1,37 @@ +// Copyright 2017 Frédéric Guillot. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package logger + +import ( + "fmt" + "os" + "time" +) + +// Debug sends a debug log message. +func Debug(format string, v ...interface{}) { + formatMessage("DEBUG", format, v...) +} + +// Info sends an info log message. +func Info(format string, v ...interface{}) { + formatMessage("INFO", format, v...) +} + +// Error sends an error log message. +func Error(format string, v ...interface{}) { + formatMessage("ERROR", format, v...) +} + +// Fatal sends a fatal log message and stop the execution of the program. +func Fatal(format string, v ...interface{}) { + formatMessage("FATAL", format, v...) + os.Exit(1) +} + +func formatMessage(level, format string, v ...interface{}) { + prefix := fmt.Sprintf("[%s] [%s] ", time.Now().Format("2006-01-02T15:04:05"), level) + fmt.Fprintf(os.Stderr, prefix+format+"\n", v...) +} -- cgit v1.2.3