Skip to content

Commit f021373

Browse files
committed
perform EngineWrapper logging initialization only once
1 parent b796c6f commit f021373

1 file changed

Lines changed: 20 additions & 14 deletions

File tree

Java/src/main/java/com/nuix/javaenginesimple/EngineWrapper.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
*/
3535
public class EngineWrapper implements AutoCloseable {
3636
private static GlobalContainer container = null;
37+
private static boolean loggingInitHasBeenPerformed = false;
3738

3839
private File nuixBaseDirectory = null;
3940
private Engine engine = null;
@@ -51,20 +52,25 @@ public class EngineWrapper implements AutoCloseable {
5152
public EngineWrapper(File nuixBaseDirectory, String logDirectory){
5253
this.nuixBaseDirectory = nuixBaseDirectory;
5354

54-
System.getProperties().put("nuix.logdir", logDirectory);
55-
56-
// Use Log4j2 config YAML from engine base directory
57-
File log4jConfigFile = new File(nuixBaseDirectory,"config/log4j2.yml");
58-
System.setProperty("log4j.configurationFile",log4jConfigFile.getAbsolutePath());
59-
logger = LogManager.getLogger("EngineWrapper");
60-
61-
// Register our own console appender that writes more than just fatal errors
62-
PatternLayout layout = PatternLayout.newBuilder().withPattern("%d{yyyy-MM-dd HH:mm:ss.SSS Z} [%t] %r %-5p %c - %m%n").build();
63-
ConsoleAppender appender = ConsoleAppender.createDefaultAppenderForLayout(layout);
64-
appender.start();
65-
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
66-
ctx.getRootLogger().addAppender(appender);
67-
ctx.updateLoggers();
55+
// Lets only initialize the logging stuff the first time
56+
if(!loggingInitHasBeenPerformed) {
57+
System.getProperties().put("nuix.logdir", logDirectory);
58+
59+
// Use Log4j2 config YAML from engine base directory
60+
File log4jConfigFile = new File(nuixBaseDirectory,"config/log4j2.yml");
61+
System.setProperty("log4j.configurationFile",log4jConfigFile.getAbsolutePath());
62+
logger = LogManager.getLogger("EngineWrapper");
63+
64+
// Register our own console appender that writes more than just fatal errors
65+
PatternLayout layout = PatternLayout.newBuilder().withPattern("%d{yyyy-MM-dd HH:mm:ss.SSS Z} [%t] %r %-5p %c - %m%n").build();
66+
ConsoleAppender appender = ConsoleAppender.createDefaultAppenderForLayout(layout);
67+
appender.start();
68+
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
69+
ctx.getRootLogger().addAppender(appender);
70+
ctx.updateLoggers();
71+
72+
loggingInitHasBeenPerformed = true;
73+
}
6874

6975
licenseFilter = new LicenseFilter();
7076

0 commit comments

Comments
 (0)