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