Skip to content

Commit a51eae1

Browse files
committed
Fix log()` not to print events repeatedly.
1 parent 6d5dba4 commit a51eae1

File tree

2 files changed

+23
-20
lines changed

2 files changed

+23
-20
lines changed

modules/siddhi-core/src/main/java/io/siddhi/core/query/processor/stream/LogStreamProcessor.java

+20-19
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import io.siddhi.annotation.ParameterOverload;
2525
import io.siddhi.annotation.util.DataType;
2626
import io.siddhi.core.config.SiddhiQueryContext;
27-
import io.siddhi.core.event.ComplexEvent;
2827
import io.siddhi.core.event.ComplexEventChunk;
2928
import io.siddhi.core.event.stream.MetaStreamEvent;
3029
import io.siddhi.core.event.stream.StreamEvent;
@@ -221,52 +220,54 @@ protected void process(ComplexEventChunk<StreamEvent> streamEventChunk, Processo
221220
StreamEventCloner streamEventCloner, ComplexEventPopulater complexEventPopulater,
222221
State state) {
223222
while (streamEventChunk.hasNext()) {
224-
ComplexEvent complexEvent = streamEventChunk.next();
223+
StreamEvent streamEvent = streamEventChunk.next();
225224
switch (attributeExpressionLength) {
226225
case 0:
227-
log.info(logPrefix + complexEvent);
226+
log.info(logPrefix + streamEvent.toString(1));
228227
break;
229228
case 1:
230229
if (isLogEventExpressionExecutor != null) {
231-
if ((Boolean) isLogEventExpressionExecutor.execute(complexEvent)) {
232-
log.info(logPrefix + complexEvent);
230+
if ((Boolean) isLogEventExpressionExecutor.execute(streamEvent)) {
231+
log.info(logPrefix + streamEvent.toString(1));
233232
} else {
234233
log.info(logPrefix + "Event Arrived");
235234
}
236235
} else {
237-
log.info(logPrefix + logMessageExpressionExecutor.execute(complexEvent) + ", " + complexEvent);
236+
log.info(logPrefix + logMessageExpressionExecutor.execute(streamEvent) + ", " +
237+
streamEvent.toString(1));
238238
}
239239
break;
240240
case 2:
241241
if (isLogEventExpressionExecutor != null) {
242-
if ((Boolean) isLogEventExpressionExecutor.execute(complexEvent)) {
243-
log.info(logPrefix + logMessageExpressionExecutor.execute(complexEvent) + ", " +
244-
complexEvent);
242+
if ((Boolean) isLogEventExpressionExecutor.execute(streamEvent)) {
243+
log.info(logPrefix + logMessageExpressionExecutor.execute(streamEvent) + ", " +
244+
streamEvent.toString(1));
245245
} else {
246-
log.info(logPrefix + logMessageExpressionExecutor.execute(complexEvent));
246+
log.info(logPrefix + logMessageExpressionExecutor.execute(streamEvent));
247247
}
248248
} else {
249249
LogPriority tempLogPriority = logPriority;
250250
if (logPriorityExpressionExecutor != null) {
251-
tempLogPriority = LogPriority.valueOf((String) logPriorityExpressionExecutor.execute
252-
(complexEvent));
251+
tempLogPriority = LogPriority.valueOf((String) logPriorityExpressionExecutor.
252+
execute(streamEvent));
253253
}
254-
String message = logPrefix + logMessageExpressionExecutor.execute(complexEvent) + ", " +
255-
complexEvent;
254+
String message = logPrefix + logMessageExpressionExecutor.execute(streamEvent) + ", " +
255+
streamEvent.toString(1);
256256
logMessage(tempLogPriority, message);
257257
}
258258
break;
259259
default:
260260
String message;
261-
if ((Boolean) isLogEventExpressionExecutor.execute(complexEvent)) {
262-
message = logPrefix + logMessageExpressionExecutor.execute(complexEvent) + ", " + complexEvent;
261+
if ((Boolean) isLogEventExpressionExecutor.execute(streamEvent)) {
262+
message = logPrefix + logMessageExpressionExecutor.execute(streamEvent) + ", " +
263+
streamEvent.toString(1);
263264
} else {
264-
message = logPrefix + logMessageExpressionExecutor.execute(complexEvent);
265+
message = logPrefix + logMessageExpressionExecutor.execute(streamEvent);
265266
}
266267
LogPriority tempLogPriority = logPriority;
267268
if (logPriorityExpressionExecutor != null) {
268-
tempLogPriority = LogPriority.valueOf((String) logPriorityExpressionExecutor.execute
269-
(complexEvent));
269+
tempLogPriority = LogPriority.valueOf((String) logPriorityExpressionExecutor.
270+
execute(streamEvent));
270271
}
271272
logMessage(tempLogPriority, message);
272273
}

modules/siddhi-core/src/test/java/io/siddhi/core/managment/LogTestCase.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,9 @@ public void receive(long timestamp, Event[] inEvents, Event[] removeEvents) {
8888
InputHandler inputHandler = siddhiAppRuntime.getInputHandler("StockStream");
8989
siddhiAppRuntime.start();
9090

91-
inputHandler.send(new Object[]{"IBM", 75.6f, 100});
91+
inputHandler.send(new Event[]{
92+
new Event(System.currentTimeMillis(), new Object[]{"IBM", 75.6f, 100}),
93+
new Event(System.currentTimeMillis(), new Object[]{"GOOG", 70.6f, 100})});
9294
Thread.sleep(100);
9395

9496
siddhiAppRuntime.shutdown();

0 commit comments

Comments
 (0)