diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-07-24 12:57:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-24 04:57:21 +0000 |
commit | 674df05b16f396bf6f2a952923b9c2dfe371415b (patch) | |
tree | 7fb44c247dec418341c86709042df65b5edce1f1 | |
parent | 4b6764bbb36f616035477480fc14959687d9d65b (diff) | |
download | gitea-674df05b16f396bf6f2a952923b9c2dfe371415b.tar.gz gitea-674df05b16f396bf6f2a952923b9c2dfe371415b.zip |
Use stderr as fallback if the log file can't be opened (#26074)
If the log file can't be opened, what should it do? panic/exit? ignore
logs? fallback to stderr?
It seems that "fallback to stderr" is slightly better than others ....
-rw-r--r-- | modules/log/event_writer_file.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/log/event_writer_file.go b/modules/log/event_writer_file.go index 4f41b96453..fd73d7d30a 100644 --- a/modules/log/event_writer_file.go +++ b/modules/log/event_writer_file.go @@ -4,6 +4,8 @@ package log import ( + "io" + "code.gitea.io/gitea/modules/util/rotatingfilewriter" ) @@ -19,7 +21,7 @@ type WriterFileOption struct { type eventWriterFile struct { *EventWriterBaseImpl - fileWriter *rotatingfilewriter.RotatingFileWriter + fileWriter io.WriteCloser } var _ EventWriter = (*eventWriterFile)(nil) @@ -37,7 +39,10 @@ func NewEventWriterFile(name string, mode WriterMode) EventWriter { CompressionLevel: opt.CompressionLevel, }) if err != nil { + // if the log file can't be opened, what should it do? panic/exit? ignore logs? fallback to stderr? + // it seems that "fallback to stderr" is slightly better than others .... FallbackErrorf("unable to open log file %q: %v", opt.FileName, err) + w.fileWriter = nopCloser{Writer: LoggerToWriter(FallbackErrorf)} } w.OutputWriteCloser = w.fileWriter return w |