88 "time"
99
1010 "bitbucket.org/mcplusa-ondemand/firehose-to-sumologic/caching"
11+ "bitbucket.org/mcplusa-ondemand/firehose-to-sumologic/eventQueue"
1112 fevents "bitbucket.org/mcplusa-ondemand/firehose-to-sumologic/events"
1213 "bitbucket.org/mcplusa-ondemand/firehose-to-sumologic/sumoCFFirehose"
1314 "github.com/Sirupsen/logrus"
@@ -19,18 +20,18 @@ type EventRouting struct {
1920 selectedEvents map [string ]bool
2021 selectedEventsCount map [string ]uint64
2122 mutex * sync.Mutex
22- sLAppender sumoCFFirehose.SumoCFFirehose //**
23- //*log logging.Logging
23+ sLAppender sumoCFFirehose.SumoLogicAppender //**
24+ queue eventQueue. Queue
2425}
2526
26- func NewEventRouting (caching caching.Caching , sLAppender sumoCFFirehose.SumoCFFirehose ) * EventRouting {
27+ func NewEventRouting (caching caching.Caching , sLAppender sumoCFFirehose.SumoLogicAppender , queue eventQueue. Queue ) * EventRouting {
2728 return & EventRouting {
2829 CachingClient : caching ,
2930 selectedEvents : make (map [string ]bool ),
3031 selectedEventsCount : make (map [string ]uint64 ),
3132 sLAppender : sLAppender , //**
32- //* log : logging ,
33- mutex : & sync.Mutex {},
33+ queue : queue ,
34+ mutex : & sync.Mutex {},
3435 }
3536}
3637
@@ -74,9 +75,14 @@ func (e *EventRouting) RouteEvent(msg *events.Envelope) {
7475 if ignored , hasIgnoredField := event .Fields ["cf_ignored_app" ]; ignored == true && hasIgnoredField {
7576 e .selectedEventsCount ["ignored_app_message" ]++
7677 } else {
77- /*fmt.Println("This is the message field")
78- fmt.Println(event.Msg)*/
79- e .sLAppender .AppendLogs (event .Fields , event .Msg ) //**/here we have to change the method for the one on sumoLogicAppender
78+ if e .queue .Pop () != nil { //if the queue is not empty
79+ fmt .Println ("sendig event from queue to appender" )
80+ e .sLAppender .AppendLogs (e .queue .Pop ().GetNodeEvent ()) // send to appender event from queue
81+ } else { //if the queue is empty, send the event to queue
82+ fmt .Println (event .Msg )
83+ fmt .Println ("sendig event TO queue" )
84+ e .queue .Push (eventQueue .NewNode (* event ))
85+ }
8086 e .selectedEventsCount [eventType .String ()]++
8187
8288 }
@@ -145,7 +151,7 @@ func (e *EventRouting) LogEventTotals(logTotalsTime time.Duration) {
145151 event , lastCount := e .getEventTotals (totalElapsedTime , elapsedTime , count )
146152 count = lastCount
147153 //*e.log.ShipEvents(event.Fields, event.Msg)
148- e .sLAppender .AppendLogs (event . Fields , event . Msg )
154+ e .sLAppender .AppendLogs (* event )
149155 }
150156 }()
151157}
0 commit comments