This repository has been archived on 2024-04-10. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
elektron/elektronLogging/logger.go

55 lines
1.5 KiB
Go
Raw Normal View History

2019-11-13 11:19:04 -05:00
package elektronLogging
import (
2019-11-21 13:05:52 -05:00
"os"
"strings"
2019-11-20 13:33:46 -05:00
"time"
log "github.com/sirupsen/logrus"
. "github.com/spdfg/elektron/elektronLogging/types"
2019-11-13 11:19:04 -05:00
)
var config LoggerConfig
var formatter ElektronFormatter
var ElektronLogger *LoggerImpl
var logDir logDirectory
2019-11-13 11:19:04 -05:00
func BuildLogger(prefix string, logConfigFilename string) {
2019-11-13 11:19:04 -05:00
// Read configuration from yaml.
config.GetConfig(logConfigFilename)
2019-11-20 13:33:46 -05:00
// Create the log directory.
2019-11-13 11:19:04 -05:00
startTime := time.Now()
formatter.TimestampFormat = "2006-01-02 15:04:05"
formattedStartTime := startTime.Format("20060102150405")
logDir.createLogDir(prefix, startTime)
// Instantiate the logrus instance.
2019-11-21 14:02:47 -05:00
prefix = strings.Join([]string{prefix, formattedStartTime}, "_")
logger := &log.Logger{
2019-11-21 13:05:52 -05:00
Out: os.Stderr,
Level: log.DebugLevel,
2019-11-21 13:05:52 -05:00
Formatter: &formatter,
}
// Create a chain of loggers.
b := &baseLogData{data: log.Fields{}}
head := &LoggerImpl{baseLogData: b}
cLog := NewConsoleLogger(b, CONSOLE, prefix, logger)
pLog := NewPCPLogger(b, PCP, prefix, logger)
schedTraceLog := NewSchedTraceLogger(b, SCHED_TRACE, prefix, logger)
spsLog := NewSchedPolicySwitchLogger(b, SPS, prefix, logger)
schedWindowLog := NewSchedWindowLogger(b, SCHED_WINDOW, prefix, logger)
tskDistLog := NewClsfnTaskDistrOverheadLogger(b, CLSFN_TASKDISTR_OVERHEAD, prefix, logger)
head.SetNext(cLog)
2019-11-13 11:19:04 -05:00
cLog.SetNext(pLog)
pLog.SetNext(schedTraceLog)
schedTraceLog.SetNext(spsLog)
spsLog.SetNext(schedWindowLog)
schedWindowLog.SetNext(tskDistLog)
ElektronLogger = head
2019-11-13 11:19:04 -05:00
}