diff --git a/common/log/logger.go b/common/log/logger.go index f6b1ed10..cdaffb25 100644 --- a/common/log/logger.go +++ b/common/log/logger.go @@ -10,11 +10,13 @@ import ( "v2ray.com/core/common/signal" ) +// LogWriter is the interface for writing logs. type LogWriter interface { Write(string) error io.Closer } +// LogWriterCreator is a function to create LogWriters. type LogWriterCreator func() LogWriter type generalLogger struct { @@ -99,6 +101,7 @@ func (w *fileLogWriter) Close() error { return w.file.Close() } +// CreateStdoutLogWriter returns a LogWriterCreator that creates LogWriter for stdout. func CreateStdoutLogWriter() LogWriterCreator { return func() LogWriter { return &consoleLogWriter{ @@ -107,6 +110,7 @@ func CreateStdoutLogWriter() LogWriterCreator { } } +// CreateFileLogWriter returns a LogWriterCreator that creates LogWriter for the given file. func CreateFileLogWriter(path string) (LogWriterCreator, error) { file, err := os.OpenFile(path, os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600) if err != nil {