diff --git a/logging/def/degColLogger.go b/logging/def/degColLogger.go new file mode 100644 index 0000000..9b9d0c7 --- /dev/null +++ b/logging/def/degColLogger.go @@ -0,0 +1,9 @@ +package logging + +type DegColLogger struct { + loggerObserverImpl +} + +func (pl *DegColLogger) Log(message string) { + pl.logObserverSpecifics[degColLogger].logFile.Println(message) +} diff --git a/logging/def/logType.go b/logging/def/logType.go index 8125154..c206ef5 100644 --- a/logging/def/logType.go +++ b/logging/def/logType.go @@ -13,6 +13,7 @@ var ( SUCCESS = messageNametoMessageType("SUCCESS") SCHED_TRACE = messageNametoMessageType("SCHED_TRACE") PCP = messageNametoMessageType("PCP") + DEG_COL = messageNametoMessageType("DEG_COL") ) // Text colors for the different types of log messages. diff --git a/logging/def/logger.go b/logging/def/logger.go index 5817651..e6236a4 100644 --- a/logging/def/logger.go +++ b/logging/def/logger.go @@ -18,6 +18,7 @@ func newLogger() *LoggerDriver { SCHED_TRACE: true, SUCCESS: true, PCP: true, + DEG_COL: true, }, } return logger diff --git a/logging/def/loggerFactory.go b/logging/def/loggerFactory.go index 5073579..ba82312 100644 --- a/logging/def/loggerFactory.go +++ b/logging/def/loggerFactory.go @@ -11,6 +11,7 @@ const ( conLogger = "console-logger" schedTraceLogger = "schedTrace-logger" pcpLogger = "pcp-logger" + degColLogger = "degCol-logger" ) // Logger class factory @@ -18,6 +19,7 @@ var Loggers map[string]loggerObserver = map[string]loggerObserver{ conLogger: nil, schedTraceLogger: nil, pcpLogger: nil, + degColLogger: nil, } // Logger options to help initialize loggers @@ -37,6 +39,7 @@ func withLoggerSpecifics(prefix string) loggerOption { conLogger: &specifics{}, schedTraceLogger: &specifics{}, pcpLogger: &specifics{}, + degColLogger: &specifics{}, } l.(*loggerObserverImpl).setLogFilePrefix(prefix) l.(*loggerObserverImpl).setLogFile() @@ -58,6 +61,9 @@ func attachAllLoggers(lg *LoggerDriver, startTime time.Time, prefix string) { Loggers[pcpLogger] = &PCPLogger{ loggerObserverImpl: *loi, } + Loggers[degColLogger] = &DegColLogger{ + loggerObserverImpl: *loi, + } for _, lmt := range GetLogMessageTypes() { switch lmt { @@ -73,6 +79,8 @@ func attachAllLoggers(lg *LoggerDriver, startTime time.Time, prefix string) { lg.attach(SUCCESS, Loggers[conLogger]) case PCP.String(): lg.attach(PCP, Loggers[pcpLogger]) + case DEG_COL.String(): + lg.attach(DEG_COL, Loggers[degColLogger]) } } } diff --git a/logging/def/loggerObservers.go b/logging/def/loggerObservers.go index 6427a9f..e401f53 100644 --- a/logging/def/loggerObservers.go +++ b/logging/def/loggerObservers.go @@ -70,6 +70,13 @@ func (loi *loggerObserverImpl) setLogFilePrefix(prefix string) { schedTraceLogFilePrefix = loi.logDirectory + "/" + schedTraceLogFilePrefix } loi.logObserverSpecifics[schedTraceLogger].logFilePrefix = schedTraceLogFilePrefix + + // Setting logFilePrefix for degCol logger + degColLogFilePrefix := prefix + "_degCol.log" + if loi.logDirectory != "" { + schedTraceLogFilePrefix = loi.logDirectory + "/" + degColLogFilePrefix + } + loi.logObserverSpecifics[degColLogger].logFilePrefix = degColLogFilePrefix } func (loi *loggerObserverImpl) setLogDirectory(dirName string) {