code.gitea.io/gitea@v1.22.3/modules/log/event_writer_console.go (about) 1 // Copyright 2023 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package log 5 6 import ( 7 "io" 8 "os" 9 ) 10 11 type WriterConsoleOption struct { 12 Stderr bool 13 } 14 15 type eventWriterConsole struct { 16 *EventWriterBaseImpl 17 } 18 19 var _ EventWriter = (*eventWriterConsole)(nil) 20 21 type nopCloser struct { 22 io.Writer 23 } 24 25 func (nopCloser) Close() error { return nil } 26 27 func NewEventWriterConsole(name string, mode WriterMode) EventWriter { 28 w := &eventWriterConsole{EventWriterBaseImpl: NewEventWriterBase(name, "console", mode)} 29 opt := mode.WriterOption.(WriterConsoleOption) 30 if opt.Stderr { 31 w.OutputWriteCloser = nopCloser{os.Stderr} 32 } else { 33 w.OutputWriteCloser = nopCloser{os.Stdout} 34 } 35 return w 36 } 37 38 func init() { 39 RegisterEventWriter("console", NewEventWriterConsole) 40 }