move cfg to loggers + refactor + log fn wrappers
1. Instead of maintaining a global config, each specialized logger now stores its config. 2. Refactored logInterface to elektronLogger. 3. Refactored loggerImpl to baseElektronLogger to be consistent with the rest of the code base. 4. Wrapped elektronLogger#Log(...) and elektronLogf(...) so that we do not have to use the instance of elektronLogger everytime we want to log. Instead, we just do logging.Log(...) or logging.Logf(...). 5. Wrapped elektronLogger#WithFields(...) and elektronLogger#WithField(...). 6. Refactored codebase to adhere to the changes.
This commit is contained in:
parent
5a6d1bed4a
commit
6fb0e4a3fe
20 changed files with 396 additions and 250 deletions
|
@ -9,25 +9,43 @@ import (
|
|||
)
|
||||
|
||||
type ClsfnTaskDistrOverheadLogger struct {
|
||||
loggerImpl
|
||||
baseElektronLogger
|
||||
}
|
||||
|
||||
func NewClsfnTaskDistrOverheadLogger(b *baseLogData, logType int, prefix string,
|
||||
logger *log.Logger, logDir *logDirectory) *ClsfnTaskDistrOverheadLogger {
|
||||
cLog := &ClsfnTaskDistrOverheadLogger{}
|
||||
cLog.logType = logType
|
||||
cLog.logDir = logDir
|
||||
cLog.next = nil
|
||||
cLog.baseLogData = b
|
||||
cLog.logger = logger
|
||||
func NewClsfnTaskDistrOverheadLogger(
|
||||
config *LoggerConfig,
|
||||
b *baseLogData,
|
||||
logType int,
|
||||
prefix string,
|
||||
logger *log.Logger,
|
||||
logDir *logDirectory) *ClsfnTaskDistrOverheadLogger {
|
||||
|
||||
cLog := &ClsfnTaskDistrOverheadLogger{
|
||||
baseElektronLogger: baseElektronLogger{
|
||||
baseLogData: b,
|
||||
config: struct {
|
||||
Enabled bool
|
||||
FilenameExtension string
|
||||
AllowOnConsole bool
|
||||
}{
|
||||
Enabled: config.TaskDistrConfig.Enabled,
|
||||
FilenameExtension: config.TaskDistrConfig.FilenameExtension,
|
||||
AllowOnConsole: config.TaskDistrConfig.AllowOnConsole,
|
||||
},
|
||||
logType: logType,
|
||||
next: nil,
|
||||
logger: logger,
|
||||
logDir: logDir,
|
||||
},
|
||||
}
|
||||
|
||||
cLog.createLogFile(prefix)
|
||||
return cLog
|
||||
}
|
||||
|
||||
func (cLog ClsfnTaskDistrOverheadLogger) Log(logType int, level log.Level, message string) {
|
||||
if cLog.logType == logType {
|
||||
if config.TaskDistrConfig.Enabled {
|
||||
if cLog.allowOnConsole {
|
||||
if cLog.isEnabled() {
|
||||
if cLog.config.AllowOnConsole {
|
||||
cLog.logger.SetOutput(os.Stdout)
|
||||
cLog.logger.WithFields(cLog.data).Log(level, message)
|
||||
}
|
||||
|
@ -47,8 +65,8 @@ func (cLog ClsfnTaskDistrOverheadLogger) Log(logType int, level log.Level, messa
|
|||
|
||||
func (cLog ClsfnTaskDistrOverheadLogger) Logf(logType int, level log.Level, msgFmtString string, args ...interface{}) {
|
||||
if cLog.logType == logType {
|
||||
if config.TaskDistrConfig.Enabled {
|
||||
if cLog.allowOnConsole {
|
||||
if cLog.isEnabled() {
|
||||
if cLog.config.AllowOnConsole {
|
||||
cLog.logger.SetOutput(os.Stdout)
|
||||
cLog.logger.WithFields(cLog.data).Logf(level, msgFmtString, args...)
|
||||
}
|
||||
|
@ -67,15 +85,14 @@ func (cLog ClsfnTaskDistrOverheadLogger) Logf(logType int, level log.Level, msgF
|
|||
|
||||
func (cLog *ClsfnTaskDistrOverheadLogger) createLogFile(prefix string) {
|
||||
|
||||
if config.TaskDistrConfig.Enabled {
|
||||
filename := strings.Join([]string{prefix, config.TaskDistrConfig.FilenameExtension}, "")
|
||||
if cLog.isEnabled() {
|
||||
filename := strings.Join([]string{prefix, cLog.config.FilenameExtension}, "")
|
||||
dirName := cLog.logDir.getDirName()
|
||||
if dirName != "" {
|
||||
if logFile, err := os.Create(filepath.Join(dirName, filename)); err != nil {
|
||||
log.Fatal("Unable to create logFile: ", err)
|
||||
} else {
|
||||
cLog.logFile = logFile
|
||||
cLog.allowOnConsole = config.TaskDistrConfig.AllowOnConsole
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue