Encapsulated log directory name into a struct

This commit is contained in:
balandi1 2019-11-21 13:47:22 -05:00
parent 13c3de44be
commit 7996240b2e
8 changed files with 47 additions and 38 deletions

View file

@ -38,8 +38,9 @@ func (cLog *ClsfnTaskDistOverheadLogger) Log(logType int, level log.Level, logDa
func (cLog *ClsfnTaskDistOverheadLogger) SetLogFile(prefix string) {
tskDistLogPrefix := strings.Join([]string{prefix, config.TaskDistConfig.FilenameExtension}, "")
if logDir != "" {
tskDistLogPrefix = strings.Join([]string{logDir, tskDistLogPrefix}, "/")
dirName := logDir.getDirName()
if dirName != "" {
tskDistLogPrefix = strings.Join([]string{dirName, tskDistLogPrefix}, "/")
}
if logFile, err := os.Create(tskDistLogPrefix); err != nil {
log.Fatal("Unable to create logFile: ", err)

View file

@ -35,8 +35,9 @@ func (cLog *ConsoleLogger) Log(logType int, level log.Level, logData log.Fields,
func (cLog *ConsoleLogger) SetLogFile(prefix string) {
consoleLogPrefix := strings.Join([]string{prefix, config.ConsoleConfig.FilenameExtension}, "")
if logDir != "" {
consoleLogPrefix = strings.Join([]string{logDir, consoleLogPrefix}, "/")
dirName := logDir.getDirName()
if dirName != "" {
consoleLogPrefix = strings.Join([]string{dirName, consoleLogPrefix}, "/")
}
if logFile, err := os.Create(consoleLogPrefix); err != nil {
log.Fatal("Unable to create logFile: ", err)

View file

@ -1,34 +1,37 @@
package elektronLogging
import (
logrus "github.com/sirupsen/logrus"
log "github.com/sirupsen/logrus"
"os"
"strconv"
"strings"
"time"
)
var logDir string
func GetLogDir(startTime time.Time, prefix string) {
if logDir == "" {
logDir = createLogDir(prefix, startTime)
}
type logDirectory struct {
name string
}
func createLogDir(prefix string, startTime time.Time) string {
// Creating directory to store all logs for this run
logDirName := strings.Join([]string{"./", prefix, strconv.Itoa(startTime.Year())}, "")
logDirName = strings.Join([]string{logDirName, startTime.Month().String(), strconv.Itoa(startTime.Day())}, "-")
logDirName = strings.Join([]string{logDirName, strconv.Itoa(startTime.Hour())}, "_")
logDirName = strings.Join([]string{logDirName, strconv.Itoa(startTime.Minute()), strconv.Itoa(startTime.Second())}, "-")
if _, err := os.Stat(logDirName); os.IsNotExist(err) {
os.Mkdir(logDirName, 0755)
} else {
logrus.Println("Unable to create log directory: ", err)
logDirName = ""
}
return logDirName
func (logD *logDirectory) getDirName() string {
return logD.name
}
func (logD *logDirectory) createLogDir(prefix string, startTime time.Time) {
if logD.name == "" {
// Creating directory to store all logs for this run
logDirName := strings.Join([]string{"./", prefix, strconv.Itoa(startTime.Year())}, "")
logDirName = strings.Join([]string{logDirName, startTime.Month().String(), strconv.Itoa(startTime.Day())}, "-")
logDirName = strings.Join([]string{logDirName, strconv.Itoa(startTime.Hour())}, "_")
logDirName = strings.Join([]string{logDirName, strconv.Itoa(startTime.Minute()), strconv.Itoa(startTime.Second())}, "-")
if _, err := os.Stat(logDirName); os.IsNotExist(err) {
os.Mkdir(logDirName, 0755)
} else {
log.Println("Unable to create log directory: ", err)
logDirName = ""
}
logD.name = logDirName
}
}

View file

@ -12,6 +12,7 @@ var config LoggerConfig
var logger *log.Logger
var formatter ElektronFormatter
var ElektronLog *LoggerImpl
var logDir logDirectory
func BuildLogger(prefix string) {
@ -22,10 +23,9 @@ func BuildLogger(prefix string) {
startTime := time.Now()
formatter.TimestampFormat = "2006-01-02 15:04:05"
formattedStartTime := startTime.Format("20060102150405")
GetLogDir(startTime, "_")
prefix = strings.Join([]string{prefix, formattedStartTime}, "_")
logDir.createLogDir(prefix, startTime)
prefix = strings.Join([]string{prefix, formattedStartTime}, "_")
logger = &log.Logger{
Out: os.Stderr,
Level: log.DebugLevel,

View file

@ -38,8 +38,9 @@ func (pLog *PcpLogger) Log(logType int, level log.Level, logData log.Fields, mes
func (plog *PcpLogger) SetLogFile(prefix string) {
pcpLogPrefix := strings.Join([]string{prefix, config.PCPConfig.FilenameExtension}, "")
if logDir != "" {
pcpLogPrefix = strings.Join([]string{logDir, pcpLogPrefix}, "/")
dirName := logDir.getDirName()
if dirName != "" {
pcpLogPrefix = strings.Join([]string{dirName, pcpLogPrefix}, "/")
}
if logFile, err := os.Create(pcpLogPrefix); err != nil {
log.Fatal("Unable to create logFile: ", err)

View file

@ -38,8 +38,9 @@ func (sLog *SchedPolicySwitchLogger) Log(logType int, level log.Level, logData l
func (sLog *SchedPolicySwitchLogger) SetLogFile(prefix string) {
spsLogPrefix := strings.Join([]string{prefix, config.SPSConfig.FilenameExtension}, "")
if logDir != "" {
spsLogPrefix = strings.Join([]string{logDir, spsLogPrefix}, "/")
dirName := logDir.getDirName()
if dirName != "" {
spsLogPrefix = strings.Join([]string{dirName, spsLogPrefix}, "/")
}
if logFile, err := os.Create(spsLogPrefix); err != nil {
log.Fatal("Unable to create logFile: ", err)

View file

@ -38,8 +38,9 @@ func (sLog *SchedTraceLogger) Log(logType int, level log.Level, logData log.Fiel
func (sLog *SchedTraceLogger) SetLogFile(prefix string) {
schedTraceLogPrefix := strings.Join([]string{prefix, config.SchedTraceConfig.FilenameExtension}, "")
if logDir != "" {
schedTraceLogPrefix = strings.Join([]string{logDir, schedTraceLogPrefix}, "/")
dirName := logDir.getDirName()
if dirName != "" {
schedTraceLogPrefix = strings.Join([]string{dirName, schedTraceLogPrefix}, "/")
}
if logFile, err := os.Create(schedTraceLogPrefix); err != nil {
log.Fatal("Unable to create logFile: ", err)

View file

@ -38,8 +38,9 @@ func (sLog *SchedWindowLogger) Log(logType int, level log.Level, logData log.Fie
func (sLog *SchedWindowLogger) SetLogFile(prefix string) {
schedWindowLogPrefix := strings.Join([]string{prefix, config.SchedWindowConfig.FilenameExtension}, "")
if logDir != "" {
schedWindowLogPrefix = strings.Join([]string{logDir, schedWindowLogPrefix}, "/")
dirName := logDir.getDirName()
if dirName != "" {
schedWindowLogPrefix = strings.Join([]string{dirName, schedWindowLogPrefix}, "/")
}
if logFile, err := os.Create(schedWindowLogPrefix); err != nil {
log.Fatal("Unable to create logFile: ", err)