fix(Logger)!: consoleLogger and FileLogger StartLogger now automatically start a goroutine when called
This commit is contained in:
@@ -12,9 +12,11 @@ func (lgr *ConsoleLoggerImpl) init() {
|
|||||||
func (logger *ConsoleLoggerImpl) StartLogger() {
|
func (logger *ConsoleLoggerImpl) StartLogger() {
|
||||||
fmt.Println("Starting Logger")
|
fmt.Println("Starting Logger")
|
||||||
loggerlogonce.Do(func() {
|
loggerlogonce.Do(func() {
|
||||||
for msg := range logger.messages {
|
go func() {
|
||||||
fmt.Print(msg)
|
for msg := range logger.messages {
|
||||||
}
|
fmt.Print(msg)
|
||||||
|
}
|
||||||
|
}()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,25 +40,27 @@ func (lgr *FileLoggerImpl) init() {
|
|||||||
func (logger *FileLoggerImpl) StartLogger() {
|
func (logger *FileLoggerImpl) StartLogger() {
|
||||||
fmt.Println("Starting FileLogger")
|
fmt.Println("Starting FileLogger")
|
||||||
loggerlogonce.Do(func() {
|
loggerlogonce.Do(func() {
|
||||||
for msg := range logger.messages {
|
go func() {
|
||||||
|
for msg := range logger.messages {
|
||||||
|
|
||||||
logger.mutex.Lock()
|
logger.mutex.Lock()
|
||||||
_, err := logger.logFile.WriteString(msg)
|
_, err := logger.logFile.WriteString(msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err.Error())
|
fmt.Println(err.Error())
|
||||||
logger.logFile.Close()
|
logger.logFile.Close()
|
||||||
logger.mutex.Unlock()
|
logger.mutex.Unlock()
|
||||||
panic("Failed to write to file")
|
panic("Failed to write to file")
|
||||||
}
|
}
|
||||||
err = logger.logFile.Sync()
|
err = logger.logFile.Sync()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.logFile.Close()
|
logger.logFile.Close()
|
||||||
logger.mutex.Unlock()
|
logger.mutex.Unlock()
|
||||||
|
|
||||||
panic("Failed to write to file")
|
panic("Failed to write to file")
|
||||||
|
}
|
||||||
|
logger.mutex.Unlock()
|
||||||
}
|
}
|
||||||
logger.mutex.Unlock()
|
}()
|
||||||
}
|
|
||||||
})
|
})
|
||||||
// Technically we should do this but this will never run
|
// Technically we should do this but this will never run
|
||||||
// logger.mutex.Lock()
|
// logger.mutex.Lock()
|
||||||
|
|||||||
Reference in New Issue
Block a user