From 260cb7567aa81315e1b614b39bededf104ecc115 Mon Sep 17 00:00:00 2001 From: "Muhammad, Hammad" <muhammad@nisum.com> Date: Wed, 8 Mar 2023 18:43:52 +0500 Subject: [PATCH] aggregated loggers --- go.mod | 3 +++ loggers.go | 21 +++++++++++++++++++++ main.go | 21 +++++++++++++-------- 3 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 go.mod create mode 100644 loggers.go diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..4d41fe4 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module example.com/hello_world + +go 1.20 diff --git a/loggers.go b/loggers.go new file mode 100644 index 0000000..bc8c674 --- /dev/null +++ b/loggers.go @@ -0,0 +1,21 @@ +package main + +import "log" + +type aggregattedLogger struct { + infoLogger *log.Logger + warnLogger *log.Logger + errorLogger *log.Logger +} + +func (l *aggregattedLogger) info(v ...interface{}) { + l.infoLogger.Println(v...) +} + +func (l *aggregattedLogger) warn(v ...interface{}) { + l.warnLogger.Println(v...) +} + +func (l *aggregattedLogger) error(v ...interface{}) { + l.errorLogger.Println(v...) +} diff --git a/main.go b/main.go index a91f3e1..f9a3890 100644 --- a/main.go +++ b/main.go @@ -16,13 +16,18 @@ func main() { log.Println(s) //can create multiple logger with prefix like INFO, WARN, ERROR - infoLogger := log.New(os.Stdout, "INFO : ", flags) - infoLogger.Println("Hi From Info Logger") - - warnLogger := log.New(os.Stdout, "WARN : ", flags) - warnLogger.Println("Hi From Warn Logger") - - errorLogger := log.New(os.Stdout, "ERROR : ", flags) - errorLogger.Println("Hi From Error Logger") + logger := aggregattedLogger{ + infoLogger: log.New(os.Stdout, "INFO : ", flags), + warnLogger: log.New(os.Stdout, "WARN : ", flags), + errorLogger: log.New(os.Stdout, "ERROR : ", flags), + } + // infoLogger := log.New(os.Stdout, "INFO : ", flags) + logger.info("Hi From Info Logger") + + // warnLogger := log.New(os.Stdout, "WARN : ", flags) + logger.warn("Hi From Warn Logger") + + // errorLogger := log.New(os.Stdout, "ERROR : ", flags) + logger.error("Hi From Error Logger") } -- 2.18.1