aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-07-24 12:57:21 +0800
committerGitHub <noreply@github.com>2023-07-24 04:57:21 +0000
commit674df05b16f396bf6f2a952923b9c2dfe371415b (patch)
tree7fb44c247dec418341c86709042df65b5edce1f1
parent4b6764bbb36f616035477480fc14959687d9d65b (diff)
downloadgitea-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.go7
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