Skip to content

Commit a6cd451

Browse files
committed
BUG/MINOR: adapters: close writter when new apache middleware is created
1 parent ba204df commit a6cd451

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

adapters/adapters.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package adapters
1717

1818
import (
1919
"fmt"
20+
"io"
2021
"math/rand"
2122
"net/http"
2223
"runtime"
@@ -30,6 +31,10 @@ import (
3031
"github.com/sirupsen/logrus"
3132
)
3233

34+
var (
35+
apacheLogWritter *io.PipeWriter
36+
)
37+
3338
// Adapter is just a wrapper over http handler function
3439
type Adapter func(http.Handler) http.Handler
3540

@@ -176,7 +181,11 @@ func UniqueIDMiddleware(entry *logrus.Entry) Adapter {
176181

177182
func ApacheLogMiddleware(entry *logrus.Entry, format *apachelog.ApacheLog) Adapter {
178183
return func(h http.Handler) http.Handler {
179-
return format.Wrap(h, entry.Logger.Writer())
184+
if apacheLogWritter != nil {
185+
apacheLogWritter.Close()
186+
}
187+
apacheLogWritter = entry.Logger.Writer()
188+
return format.Wrap(h, apacheLogWritter)
180189
}
181190
}
182191

0 commit comments

Comments
 (0)