3434 */
3535public 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