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() {
|
||||
fmt.Println("Starting Logger")
|
||||
loggerlogonce.Do(func() {
|
||||
for msg := range logger.messages {
|
||||
fmt.Print(msg)
|
||||
}
|
||||
go func() {
|
||||
for msg := range logger.messages {
|
||||
fmt.Print(msg)
|
||||
}
|
||||
}()
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -40,25 +40,27 @@ func (lgr *FileLoggerImpl) init() {
|
||||
func (logger *FileLoggerImpl) StartLogger() {
|
||||
fmt.Println("Starting FileLogger")
|
||||
loggerlogonce.Do(func() {
|
||||
for msg := range logger.messages {
|
||||
go func() {
|
||||
for msg := range logger.messages {
|
||||
|
||||
logger.mutex.Lock()
|
||||
_, err := logger.logFile.WriteString(msg)
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
logger.logFile.Close()
|
||||
logger.mutex.Unlock()
|
||||
panic("Failed to write to file")
|
||||
}
|
||||
err = logger.logFile.Sync()
|
||||
if err != nil {
|
||||
logger.logFile.Close()
|
||||
logger.mutex.Unlock()
|
||||
logger.mutex.Lock()
|
||||
_, err := logger.logFile.WriteString(msg)
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
logger.logFile.Close()
|
||||
logger.mutex.Unlock()
|
||||
panic("Failed to write to file")
|
||||
}
|
||||
err = logger.logFile.Sync()
|
||||
if err != nil {
|
||||
logger.logFile.Close()
|
||||
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
|
||||
// logger.mutex.Lock()
|
||||
|
||||
Reference in New Issue
Block a user