Encapsulated log directory name into a struct
This commit is contained in:
parent
13c3de44be
commit
7996240b2e
8 changed files with 47 additions and 38 deletions
|
@ -38,8 +38,9 @@ func (cLog *ClsfnTaskDistOverheadLogger) Log(logType int, level log.Level, logDa
|
||||||
func (cLog *ClsfnTaskDistOverheadLogger) SetLogFile(prefix string) {
|
func (cLog *ClsfnTaskDistOverheadLogger) SetLogFile(prefix string) {
|
||||||
|
|
||||||
tskDistLogPrefix := strings.Join([]string{prefix, config.TaskDistConfig.FilenameExtension}, "")
|
tskDistLogPrefix := strings.Join([]string{prefix, config.TaskDistConfig.FilenameExtension}, "")
|
||||||
if logDir != "" {
|
dirName := logDir.getDirName()
|
||||||
tskDistLogPrefix = strings.Join([]string{logDir, tskDistLogPrefix}, "/")
|
if dirName != "" {
|
||||||
|
tskDistLogPrefix = strings.Join([]string{dirName, tskDistLogPrefix}, "/")
|
||||||
}
|
}
|
||||||
if logFile, err := os.Create(tskDistLogPrefix); err != nil {
|
if logFile, err := os.Create(tskDistLogPrefix); err != nil {
|
||||||
log.Fatal("Unable to create logFile: ", err)
|
log.Fatal("Unable to create logFile: ", err)
|
||||||
|
|
|
@ -35,8 +35,9 @@ func (cLog *ConsoleLogger) Log(logType int, level log.Level, logData log.Fields,
|
||||||
func (cLog *ConsoleLogger) SetLogFile(prefix string) {
|
func (cLog *ConsoleLogger) SetLogFile(prefix string) {
|
||||||
|
|
||||||
consoleLogPrefix := strings.Join([]string{prefix, config.ConsoleConfig.FilenameExtension}, "")
|
consoleLogPrefix := strings.Join([]string{prefix, config.ConsoleConfig.FilenameExtension}, "")
|
||||||
if logDir != "" {
|
dirName := logDir.getDirName()
|
||||||
consoleLogPrefix = strings.Join([]string{logDir, consoleLogPrefix}, "/")
|
if dirName != "" {
|
||||||
|
consoleLogPrefix = strings.Join([]string{dirName, consoleLogPrefix}, "/")
|
||||||
}
|
}
|
||||||
if logFile, err := os.Create(consoleLogPrefix); err != nil {
|
if logFile, err := os.Create(consoleLogPrefix); err != nil {
|
||||||
log.Fatal("Unable to create logFile: ", err)
|
log.Fatal("Unable to create logFile: ", err)
|
||||||
|
|
|
@ -1,34 +1,37 @@
|
||||||
package elektronLogging
|
package elektronLogging
|
||||||
|
|
||||||
import (
|
import (
|
||||||
logrus "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var logDir string
|
type logDirectory struct {
|
||||||
|
name string
|
||||||
func GetLogDir(startTime time.Time, prefix string) {
|
|
||||||
if logDir == "" {
|
|
||||||
logDir = createLogDir(prefix, startTime)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func createLogDir(prefix string, startTime time.Time) string {
|
func (logD *logDirectory) getDirName() string {
|
||||||
|
return 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())}, "-")
|
func (logD *logDirectory) createLogDir(prefix string, startTime time.Time) {
|
||||||
logDirName = strings.Join([]string{logDirName, strconv.Itoa(startTime.Hour())}, "_")
|
|
||||||
logDirName = strings.Join([]string{logDirName, strconv.Itoa(startTime.Minute()), strconv.Itoa(startTime.Second())}, "-")
|
if logD.name == "" {
|
||||||
|
// Creating directory to store all logs for this run
|
||||||
if _, err := os.Stat(logDirName); os.IsNotExist(err) {
|
logDirName := strings.Join([]string{"./", prefix, strconv.Itoa(startTime.Year())}, "")
|
||||||
os.Mkdir(logDirName, 0755)
|
logDirName = strings.Join([]string{logDirName, startTime.Month().String(), strconv.Itoa(startTime.Day())}, "-")
|
||||||
} else {
|
logDirName = strings.Join([]string{logDirName, strconv.Itoa(startTime.Hour())}, "_")
|
||||||
logrus.Println("Unable to create log directory: ", err)
|
logDirName = strings.Join([]string{logDirName, strconv.Itoa(startTime.Minute()), strconv.Itoa(startTime.Second())}, "-")
|
||||||
logDirName = ""
|
|
||||||
}
|
if _, err := os.Stat(logDirName); os.IsNotExist(err) {
|
||||||
return logDirName
|
os.Mkdir(logDirName, 0755)
|
||||||
|
} else {
|
||||||
|
log.Println("Unable to create log directory: ", err)
|
||||||
|
logDirName = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
logD.name = logDirName
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ var config LoggerConfig
|
||||||
var logger *log.Logger
|
var logger *log.Logger
|
||||||
var formatter ElektronFormatter
|
var formatter ElektronFormatter
|
||||||
var ElektronLog *LoggerImpl
|
var ElektronLog *LoggerImpl
|
||||||
|
var logDir logDirectory
|
||||||
|
|
||||||
func BuildLogger(prefix string) {
|
func BuildLogger(prefix string) {
|
||||||
|
|
||||||
|
@ -22,10 +23,9 @@ func BuildLogger(prefix string) {
|
||||||
startTime := time.Now()
|
startTime := time.Now()
|
||||||
formatter.TimestampFormat = "2006-01-02 15:04:05"
|
formatter.TimestampFormat = "2006-01-02 15:04:05"
|
||||||
formattedStartTime := startTime.Format("20060102150405")
|
formattedStartTime := startTime.Format("20060102150405")
|
||||||
GetLogDir(startTime, "_")
|
|
||||||
|
logDir.createLogDir(prefix, startTime)
|
||||||
prefix = strings.Join([]string{prefix, formattedStartTime}, "_")
|
prefix = strings.Join([]string{prefix, formattedStartTime}, "_")
|
||||||
|
|
||||||
logger = &log.Logger{
|
logger = &log.Logger{
|
||||||
Out: os.Stderr,
|
Out: os.Stderr,
|
||||||
Level: log.DebugLevel,
|
Level: log.DebugLevel,
|
||||||
|
|
|
@ -38,8 +38,9 @@ func (pLog *PcpLogger) Log(logType int, level log.Level, logData log.Fields, mes
|
||||||
func (plog *PcpLogger) SetLogFile(prefix string) {
|
func (plog *PcpLogger) SetLogFile(prefix string) {
|
||||||
|
|
||||||
pcpLogPrefix := strings.Join([]string{prefix, config.PCPConfig.FilenameExtension}, "")
|
pcpLogPrefix := strings.Join([]string{prefix, config.PCPConfig.FilenameExtension}, "")
|
||||||
if logDir != "" {
|
dirName := logDir.getDirName()
|
||||||
pcpLogPrefix = strings.Join([]string{logDir, pcpLogPrefix}, "/")
|
if dirName != "" {
|
||||||
|
pcpLogPrefix = strings.Join([]string{dirName, pcpLogPrefix}, "/")
|
||||||
}
|
}
|
||||||
if logFile, err := os.Create(pcpLogPrefix); err != nil {
|
if logFile, err := os.Create(pcpLogPrefix); err != nil {
|
||||||
log.Fatal("Unable to create logFile: ", err)
|
log.Fatal("Unable to create logFile: ", err)
|
||||||
|
|
|
@ -38,8 +38,9 @@ func (sLog *SchedPolicySwitchLogger) Log(logType int, level log.Level, logData l
|
||||||
func (sLog *SchedPolicySwitchLogger) SetLogFile(prefix string) {
|
func (sLog *SchedPolicySwitchLogger) SetLogFile(prefix string) {
|
||||||
|
|
||||||
spsLogPrefix := strings.Join([]string{prefix, config.SPSConfig.FilenameExtension}, "")
|
spsLogPrefix := strings.Join([]string{prefix, config.SPSConfig.FilenameExtension}, "")
|
||||||
if logDir != "" {
|
dirName := logDir.getDirName()
|
||||||
spsLogPrefix = strings.Join([]string{logDir, spsLogPrefix}, "/")
|
if dirName != "" {
|
||||||
|
spsLogPrefix = strings.Join([]string{dirName, spsLogPrefix}, "/")
|
||||||
}
|
}
|
||||||
if logFile, err := os.Create(spsLogPrefix); err != nil {
|
if logFile, err := os.Create(spsLogPrefix); err != nil {
|
||||||
log.Fatal("Unable to create logFile: ", err)
|
log.Fatal("Unable to create logFile: ", err)
|
||||||
|
|
|
@ -38,8 +38,9 @@ func (sLog *SchedTraceLogger) Log(logType int, level log.Level, logData log.Fiel
|
||||||
func (sLog *SchedTraceLogger) SetLogFile(prefix string) {
|
func (sLog *SchedTraceLogger) SetLogFile(prefix string) {
|
||||||
|
|
||||||
schedTraceLogPrefix := strings.Join([]string{prefix, config.SchedTraceConfig.FilenameExtension}, "")
|
schedTraceLogPrefix := strings.Join([]string{prefix, config.SchedTraceConfig.FilenameExtension}, "")
|
||||||
if logDir != "" {
|
dirName := logDir.getDirName()
|
||||||
schedTraceLogPrefix = strings.Join([]string{logDir, schedTraceLogPrefix}, "/")
|
if dirName != "" {
|
||||||
|
schedTraceLogPrefix = strings.Join([]string{dirName, schedTraceLogPrefix}, "/")
|
||||||
}
|
}
|
||||||
if logFile, err := os.Create(schedTraceLogPrefix); err != nil {
|
if logFile, err := os.Create(schedTraceLogPrefix); err != nil {
|
||||||
log.Fatal("Unable to create logFile: ", err)
|
log.Fatal("Unable to create logFile: ", err)
|
||||||
|
|
|
@ -38,8 +38,9 @@ func (sLog *SchedWindowLogger) Log(logType int, level log.Level, logData log.Fie
|
||||||
func (sLog *SchedWindowLogger) SetLogFile(prefix string) {
|
func (sLog *SchedWindowLogger) SetLogFile(prefix string) {
|
||||||
|
|
||||||
schedWindowLogPrefix := strings.Join([]string{prefix, config.SchedWindowConfig.FilenameExtension}, "")
|
schedWindowLogPrefix := strings.Join([]string{prefix, config.SchedWindowConfig.FilenameExtension}, "")
|
||||||
if logDir != "" {
|
dirName := logDir.getDirName()
|
||||||
schedWindowLogPrefix = strings.Join([]string{logDir, schedWindowLogPrefix}, "/")
|
if dirName != "" {
|
||||||
|
schedWindowLogPrefix = strings.Join([]string{dirName, schedWindowLogPrefix}, "/")
|
||||||
}
|
}
|
||||||
if logFile, err := os.Create(schedWindowLogPrefix); err != nil {
|
if logFile, err := os.Create(schedWindowLogPrefix); err != nil {
|
||||||
log.Fatal("Unable to create logFile: ", err)
|
log.Fatal("Unable to create logFile: ", err)
|
||||||
|
|
Reference in a new issue