Skip to content

Commit 76668e2

Browse files
committed
Merged in feature/SCFF-7 (pull request #14)
Feature/SCFF-7
2 parents bcbd9fb + 1afaed3 commit 76668e2

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

sumoCFFirehose/sumoLogicAppender.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package sumoCFFirehose
22

33
import (
44
"bytes"
5+
"compress/gzip"
56
"net/http"
67
"runtime"
78
"time"
@@ -61,7 +62,7 @@ func (s *SumoLogicAppender) Start() {
6162

6263
if time.Since(Buffer.timerIdlebuffer).Seconds() >= 10 && Buffer.logEventsInCurrentBuffer > 0 {
6364
logging.Info.Println("Sending current batch of logs after timer exceeded limit")
64-
go s.SendToSumo(&Buffer)
65+
go s.SendToSumo(Buffer.logStringToSend.String())
6566
Buffer = newBuffer()
6667
Buffer.timerIdlebuffer = time.Now()
6768
continue
@@ -77,7 +78,7 @@ func (s *SumoLogicAppender) Start() {
7778
s.AppendLogs(&Buffer)
7879
Buffer.timerIdlebuffer = time.Now()
7980
}
80-
go s.SendToSumo(&Buffer)
81+
go s.SendToSumo(Buffer.logStringToSend.String())
8182
Buffer = newBuffer()
8283
} else {
8384
logging.Trace.Println("Pushing Logs to Buffer: ")
@@ -112,20 +113,27 @@ func (s *SumoLogicAppender) AppendLogs(buffer *SumoBuffer) {
112113

113114
}
114115

115-
func (s *SumoLogicAppender) SendToSumo(buffer *SumoBuffer) {
116+
func (s *SumoLogicAppender) SendToSumo(logStringToSend string) {
117+
118+
var buf bytes.Buffer
119+
g := gzip.NewWriter(&buf)
120+
g.Write([]byte(logStringToSend))
121+
g.Close()
122+
116123
for time.Since(s.timerBetweenPost) < s.sumoPostMinimumDelay {
117124
logging.Trace.Println("Delaying post to honor minimum post delay")
118125
time.Sleep(100 * time.Millisecond)
119126
}
120127

121-
logging.Info.Println("Sending logs to Sumologic...")
122-
request, err := http.NewRequest("POST", s.url, buffer.logStringToSend)
128+
logging.Info.Println("Sending logs to Sumo Logic...")
129+
request, err := http.NewRequest("POST", s.url, &buf)
123130
if err != nil {
124131
logging.Error.Printf("http.NewRequest() error: %v\n", err)
125132
return
126133
}
127-
//request.Header.Add("content-type", "application/json")
134+
request.Header.Add("Content-Encoding", "gzip")
128135
//request.SetBasicAuth("admin", "admin")
136+
129137
response, err := s.httpClient.Do(request)
130138
if err != nil {
131139
logging.Error.Printf("http.Do() error: %v\n", err)

0 commit comments

Comments
 (0)