поэтому у меня есть приложение go, которое имеет 3 разных файла вывода журнала, и каждый файл имеет свой собственный регистратор. когда приложение паникует, трассировка паники всегда будет записываться в последнее открытое средство ведения журнала, даже если источник паники не связан с доменом этого конкретного файла журнала.
это происходит потому, что для записи паники я перенаправляю вывод stderr в регистратор, а последний регистратор, на который нужно перенаправить, — это тот, который будет использоваться.
fh, err := os.OpenFile(filename, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0777)
err = syscall.Dup2(int(fh.Fd()), int(os.Stderr.Fd()))
if err != nil {
fmt.Errorf("failed to redirect stderr to file: %v", err)
}
есть ли способ, чтобы паника всегда записывалась в определенный файл? или как-то перенаправить его на все файлы?
Спасибо