Логрус. Запись в существующий файл - PullRequest
0 голосов
/ 24 марта 2020

вот код:

tmp, _ := os.OpenFile(filepath.Join(this.dirPath , "Log_"+time.Now().Format(conf.FormatFile())), os.O_CREATE|os.O_WRONLY, os.ModePerm)
logrus.SetOutput(tmp)

работает, но если программа запускается снова и файл с таким именем уже существует, запись в него не происходит, ошибок нет, журналы не написано и все тут. Мне кажется, что-то с этим флагом os.ModePerm.

Проблема повторяется только на linux.

1 Ответ

2 голосов
/ 24 марта 2020

Вы, вероятно, должны использовать флаг os.O_APPEND.

tmp, _ := os.OpenFile(
  filepath.Join(this.dirPath, "Log_"+time.Now().Format(conf.FormatFile())), 
  os.O_APPEND|os.O_WRONLY, 
  os.ModePerm,
)

https://godoc.org/os#pkg -константы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...