Skip to content

Commit 352781d

Browse files
committed
Revert "Merge pull request #1376 from ozfive/master"
This reverts commit 6acd903, reversing changes made to e59b167.
1 parent b30aa27 commit 352781d

File tree

1 file changed

+1
-33
lines changed

1 file changed

+1
-33
lines changed

Diff for: writer.go

+1-33
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"bufio"
55
"io"
66
"runtime"
7-
"strings"
87
)
98

109
// Writer at INFO level. See WriterLevel for details.
@@ -21,18 +20,15 @@ func (logger *Logger) WriterLevel(level Level) *io.PipeWriter {
2120
return NewEntry(logger).WriterLevel(level)
2221
}
2322

24-
// Writer returns an io.Writer that writes to the logger at the info log level
2523
func (entry *Entry) Writer() *io.PipeWriter {
2624
return entry.WriterLevel(InfoLevel)
2725
}
2826

29-
// WriterLevel returns an io.Writer that writes to the logger at the given log level
3027
func (entry *Entry) WriterLevel(level Level) *io.PipeWriter {
3128
reader, writer := io.Pipe()
3229

3330
var printFunc func(args ...interface{})
3431

35-
// Determine which log function to use based on the specified log level
3632
switch level {
3733
case TraceLevel:
3834
printFunc = entry.Trace
@@ -52,51 +48,23 @@ func (entry *Entry) WriterLevel(level Level) *io.PipeWriter {
5248
printFunc = entry.Print
5349
}
5450

55-
// Start a new goroutine to scan the input and write it to the logger using the specified print function.
56-
// It splits the input into chunks of up to 64KB to avoid buffer overflows.
5751
go entry.writerScanner(reader, printFunc)
58-
59-
// Set a finalizer function to close the writer when it is garbage collected
6052
runtime.SetFinalizer(writer, writerFinalizer)
6153

6254
return writer
6355
}
6456

65-
// writerScanner scans the input from the reader and writes it to the logger
6657
func (entry *Entry) writerScanner(reader *io.PipeReader, printFunc func(args ...interface{})) {
6758
scanner := bufio.NewScanner(reader)
68-
69-
// Set the buffer size to the maximum token size to avoid buffer overflows
70-
scanner.Buffer(make([]byte, bufio.MaxScanTokenSize), bufio.MaxScanTokenSize)
71-
72-
// Define a split function to split the input into chunks of up to 64KB
73-
chunkSize := 64 * 1024 // 64KB
74-
splitFunc := func(data []byte, atEOF bool) (int, []byte, error) {
75-
if len(data) > chunkSize {
76-
return chunkSize, data[:chunkSize], nil
77-
}
78-
79-
return len(data), data, nil
80-
}
81-
82-
//Use the custom split function to split the input
83-
scanner.Split(splitFunc)
84-
85-
// Scan the input and write it to the logger using the specified print function
8659
for scanner.Scan() {
87-
printFunc(strings.TrimRight(scanner.Text(), "\r\n"))
60+
printFunc(scanner.Text())
8861
}
89-
90-
// If there was an error while scanning the input, log an error
9162
if err := scanner.Err(); err != nil {
9263
entry.Errorf("Error while reading from Writer: %s", err)
9364
}
94-
95-
// Close the reader when we are done
9665
reader.Close()
9766
}
9867

99-
// WriterFinalizer is a finalizer function that closes then given writer when it is garbage collected
10068
func writerFinalizer(writer *io.PipeWriter) {
10169
writer.Close()
10270
}

0 commit comments

Comments
 (0)