package com.revolsys.logging.log4j;
import com.revolsys.parallel.AbstractRunnable;
public class ThreadLocalAppenderRunnable extends AbstractRunnable {
private final ThreadLocalFileAppender appender;
private String logFile;
private final Runnable process;
public ThreadLocalAppenderRunnable(final Runnable process) {
this.process = process;
this.appender = ThreadLocalFileAppender.getAppender();
if (this.appender != null) {
this.logFile = this.appender.getLocalFile();
}
}
@Override
public void runDo() {
try {
if (this.appender != null) {
try {
this.appender.setLocalFile(this.logFile);
} catch (final Throwable t) {
t.printStackTrace();
}
}
this.process.run();
} catch (final Throwable t) {
t.printStackTrace();
}
}
}