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