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) {
|
||||
|
||||
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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Reference in a new issue