gitea源码

event_writer_console.go 754B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package log
  4. import (
  5. "os"
  6. "code.gitea.io/gitea/modules/util"
  7. )
  8. type WriterConsoleOption struct {
  9. Stderr bool
  10. }
  11. type eventWriterConsole struct {
  12. *EventWriterBaseImpl
  13. }
  14. var _ EventWriter = (*eventWriterConsole)(nil)
  15. func NewEventWriterConsole(name string, mode WriterMode) EventWriter {
  16. w := &eventWriterConsole{EventWriterBaseImpl: NewEventWriterBase(name, "console", mode)}
  17. opt := mode.WriterOption.(WriterConsoleOption)
  18. if opt.Stderr {
  19. w.OutputWriteCloser = util.NopCloser{Writer: os.Stderr}
  20. } else {
  21. w.OutputWriteCloser = util.NopCloser{Writer: os.Stdout}
  22. }
  23. return w
  24. }
  25. func init() {
  26. RegisterEventWriter("console", NewEventWriterConsole)
  27. }