Skip to content

Commit 45c57b3

Browse files
authored
Merge pull request apache#5202 from hansva/5198
Send general log to SLF4J + cleanup and Junit4 migration, apache#5198
2 parents 7af05cc + dc74056 commit 45c57b3

File tree

3 files changed

+44
-36
lines changed

3 files changed

+44
-36
lines changed

core/src/main/java/org/apache/hop/core/logging/Slf4jLoggingEventListener.java

+8-7
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,15 @@ public class Slf4jLoggingEventListener implements IHopLoggingEventListener {
3636
@VisibleForTesting
3737
Logger pipelineLogger = LoggerFactory.getLogger("org.apache.hop.pipeline.Pipeline");
3838

39-
@VisibleForTesting Logger jobLogger = LoggerFactory.getLogger("org.apache.hop.workflow.Workflow");
39+
@VisibleForTesting
40+
Logger workflowLogger = LoggerFactory.getLogger("org.apache.hop.workflow.Workflow");
4041

41-
@VisibleForTesting Logger diLogger = LoggerFactory.getLogger("org.apache.hop");
42+
@VisibleForTesting Logger hopLogger = LoggerFactory.getLogger("org.apache.hop");
4243

4344
@VisibleForTesting
4445
Function<String, ILoggingObject> logObjProvider =
4546
objId -> LoggingRegistry.getInstance().getLoggingObject(objId);
4647

47-
private static final String SEPARATOR = "/";
48-
4948
public Slf4jLoggingEventListener() {
5049
// Do nothing
5150
}
@@ -60,14 +59,16 @@ public void eventAdded(HopLoggingEvent event) {
6059
if (loggingObject == null) {
6160
// this can happen if logObject has been discarded while log events are still in flight.
6261
logToLogger(
63-
diLogger, message.getLevel(), message.getSubject() + " " + message.getMessage());
62+
hopLogger, message.getLevel(), message.getSubject() + " " + message.getMessage());
6463
} else if (loggingObject.getObjectType() == PIPELINE
6564
|| loggingObject.getObjectType() == TRANSFORM
6665
|| loggingObject.getObjectType() == DATABASE) {
6766
logToLogger(pipelineLogger, message.getLevel(), loggingObject, message);
6867
} else if (loggingObject.getObjectType() == WORKFLOW
6968
|| loggingObject.getObjectType() == ACTION) {
70-
logToLogger(jobLogger, message.getLevel(), loggingObject, message);
69+
logToLogger(workflowLogger, message.getLevel(), loggingObject, message);
70+
} else {
71+
logToLogger(hopLogger, message.getLevel(), loggingObject, message);
7172
}
7273
}
7374
}
@@ -107,7 +108,7 @@ private String getDetailedSubject(ILoggingObject loggingObject) {
107108
while (loggingObject != null) {
108109
if (loggingObject.getObjectType() == PIPELINE || loggingObject.getObjectType() == WORKFLOW) {
109110
String filename = loggingObject.getFilename();
110-
if (filename != null && filename.length() > 0) {
111+
if (filename != null && !filename.isEmpty()) {
111112
subjects.add(filename);
112113
}
113114
}

core/src/test/java/org/apache/hop/core/logging/Slf4jLoggingEventListenerTest.java

+30-29
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,23 @@
1919

2020
import static org.apache.hop.core.logging.LogLevel.BASIC;
2121
import static org.apache.hop.core.logging.LogLevel.ERROR;
22+
import static org.mockito.Mockito.lenient;
2223
import static org.mockito.Mockito.verify;
2324
import static org.mockito.Mockito.verifyNoInteractions;
2425
import static org.mockito.Mockito.when;
2526

2627
import java.util.function.Function;
27-
import org.junit.Before;
28-
import org.junit.Test;
29-
import org.junit.runner.RunWith;
28+
import org.junit.jupiter.api.BeforeEach;
29+
import org.junit.jupiter.api.Test;
30+
import org.junit.jupiter.api.extension.ExtendWith;
3031
import org.mockito.Mock;
31-
import org.mockito.junit.MockitoJUnitRunner;
32+
import org.mockito.junit.jupiter.MockitoExtension;
3233
import org.slf4j.Logger;
3334

34-
@RunWith(MockitoJUnitRunner.class)
35-
public class Slf4jLoggingEventListenerTest {
35+
@ExtendWith(MockitoExtension.class)
36+
class Slf4jLoggingEventListenerTest {
3637

37-
@Mock private Logger pipelineLogger, jobLogger, diLogger;
38+
@Mock private Logger pipelineLogger, workflowLogger, hopLogger;
3839
@Mock private HopLoggingEvent logEvent;
3940
@Mock private ILoggingObject loggingObject;
4041
@Mock private LogMessage message;
@@ -47,61 +48,61 @@ public class Slf4jLoggingEventListenerTest {
4748

4849
private Slf4jLoggingEventListener listener = new Slf4jLoggingEventListener();
4950

50-
@Before
51-
public void before() {
51+
@BeforeEach
52+
void before() {
5253
listener.pipelineLogger = pipelineLogger;
53-
listener.jobLogger = jobLogger;
54-
listener.diLogger = diLogger;
54+
listener.workflowLogger = workflowLogger;
55+
listener.hopLogger = hopLogger;
5556
listener.logObjProvider = logObjProvider;
56-
when(logEvent.getMessage()).thenReturn(message);
57-
when(message.getLogChannelId()).thenReturn(logChannelId);
58-
when(message.getLevel()).thenReturn(logLevel);
59-
when(message.getMessage()).thenReturn(msgText);
60-
when(message.getSubject()).thenReturn(messageSub);
57+
lenient().when(logEvent.getMessage()).thenReturn(message);
58+
lenient().when(message.getLogChannelId()).thenReturn(logChannelId);
59+
lenient().when(message.getLevel()).thenReturn(logLevel);
60+
lenient().when(message.getMessage()).thenReturn(msgText);
61+
lenient().when(message.getSubject()).thenReturn(messageSub);
6162
}
6263

6364
@Test
64-
public void testAddLogEventNoRegisteredLogObject() {
65+
void testAddLogEventNoRegisteredLogObject() {
6566
listener.eventAdded(logEvent);
66-
verify(diLogger).info(messageSub + " " + msgText);
67+
verify(hopLogger).info(String.format("%s %s", messageSub, msgText));
6768

6869
when(message.getLevel()).thenReturn(ERROR);
6970
listener.eventAdded(logEvent);
70-
verify(diLogger).error(messageSub + " " + msgText);
71+
verify(hopLogger).error(String.format("%s %s", messageSub, msgText));
7172
verifyNoInteractions(pipelineLogger);
72-
verifyNoInteractions(jobLogger);
73+
verifyNoInteractions(workflowLogger);
7374
}
7475

7576
@Test
76-
public void testAddLogEventPipeline() {
77+
void testAddLogEventPipeline() {
7778
when(logObjProvider.apply(logChannelId)).thenReturn(loggingObject);
7879
when(loggingObject.getObjectType()).thenReturn(LoggingObjectType.PIPELINE);
7980
when(loggingObject.getFilename()).thenReturn("filename");
8081
when(message.getLevel()).thenReturn(LogLevel.BASIC);
8182
listener.eventAdded(logEvent);
8283

83-
verify(pipelineLogger).info("[filename] " + msgText);
84+
verify(pipelineLogger).info(String.format("[filename] %s", msgText));
8485
when(message.getLevel()).thenReturn(LogLevel.ERROR);
8586
listener.eventAdded(logEvent);
86-
verify(pipelineLogger).error("[filename] " + msgText);
87-
verifyNoInteractions(diLogger);
88-
verifyNoInteractions(jobLogger);
87+
verify(pipelineLogger).error(String.format("[filename] %s", msgText));
88+
verifyNoInteractions(hopLogger);
89+
verifyNoInteractions(workflowLogger);
8990
}
9091

9192
@Test
92-
public void testAddLogEventJob() {
93+
void testAddLogEventJob() {
9394
when(logObjProvider.apply(logChannelId)).thenReturn(loggingObject);
9495
when(loggingObject.getObjectType()).thenReturn(LoggingObjectType.WORKFLOW);
9596
when(loggingObject.getFilename()).thenReturn("filename");
9697
when(message.getLevel()).thenReturn(LogLevel.BASIC);
9798
listener.eventAdded(logEvent);
9899

99-
verify(jobLogger).info("[filename] " + msgText);
100+
verify(workflowLogger).info(String.format("[filename] %s", msgText));
100101

101102
when(message.getLevel()).thenReturn(LogLevel.ERROR);
102103
listener.eventAdded(logEvent);
103-
verify(jobLogger).error("[filename] " + msgText);
104-
verifyNoInteractions(diLogger);
104+
verify(workflowLogger).error(String.format("[filename] %s", msgText));
105+
verifyNoInteractions(hopLogger);
105106
verifyNoInteractions(pipelineLogger);
106107
}
107108
}

pom.xml

+6
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,12 @@
201201
<version>${mockito-core.version}</version>
202202
<scope>test</scope>
203203
</dependency>
204+
<dependency>
205+
<groupId>org.mockito</groupId>
206+
<artifactId>mockito-junit-jupiter</artifactId>
207+
<version>${mockito-core.version}</version>
208+
<scope>test</scope>
209+
</dependency>
204210
<dependency>
205211
<groupId>org.objenesis</groupId>
206212
<artifactId>objenesis</artifactId>

0 commit comments

Comments
 (0)