Commit 260cb756 authored by Muhammad, Hammad's avatar Muhammad, Hammad

aggregated loggers

parent d09f2333
module example.com/hello_world
go 1.20
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...)
}
...@@ -16,13 +16,18 @@ func main() { ...@@ -16,13 +16,18 @@ func main() {
log.Println(s) log.Println(s)
//can create multiple logger with prefix like INFO, WARN, ERROR //can create multiple logger with prefix like INFO, WARN, ERROR
infoLogger := log.New(os.Stdout, "INFO : ", flags) logger := aggregattedLogger{
infoLogger.Println("Hi From Info Logger") infoLogger: log.New(os.Stdout, "INFO : ", flags),
warnLogger: log.New(os.Stdout, "WARN : ", flags),
warnLogger := log.New(os.Stdout, "WARN : ", flags) errorLogger: log.New(os.Stdout, "ERROR : ", flags),
warnLogger.Println("Hi From Warn Logger") }
// infoLogger := log.New(os.Stdout, "INFO : ", flags)
errorLogger := log.New(os.Stdout, "ERROR : ", flags) logger.info("Hi From Info Logger")
errorLogger.Println("Hi From Error 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")
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment