The decorator/simple_log.go file

Our logger leverages Go's Logger package, as follows:

package decorator

import (
"io"
"log"
"os"
)

var (
Debug *log.Logger
Info *log.Logger
Error *log.Logger
InfoHandler io.Writer
)

A simple logger exports one function, namely InitLog, which the calling package uses to enable the logging features:

func InitLog(
traceFileName string,
debugHandler io.Writer,
infoHandler io.Writer,
errorHandler io.Writer,
) {