Hi,
ich habe ein Problem mit log4j. Und zwar schreiben 2 Logger mit jeweils unterschiedlichen FileAppender dem anderen Logger in sein File.
Hier mal der Testcode dazu wo man das Problem sehr schön sehen kann:
Einfach mal die log files anschauen die dabei herauskommen dann erkennt man schnell das Problem.
Danke schon mal im Vorraus
ich habe ein Problem mit log4j. Und zwar schreiben 2 Logger mit jeweils unterschiedlichen FileAppender dem anderen Logger in sein File.
Hier mal der Testcode dazu wo man das Problem sehr schön sehen kann:
PHP:
public class ThreadTestlog4j extends Thread
{
private final long ID = CommonHelpers.getNextUniqueNumber(); // Unique Number
// to get a unique Logger for every Class Intance
private final Logger logger = Logger.getLogger(this.getClass() + "." + ID);
private final String name;
private final FileAppender appender = new FileAppender();
public ThreadTestlog4j(String name) throws IOException
{
this.name = name;
addApps();
}
public void run()
{
for (int i = 0; i <= 20; i++)
{
try
{
sleep(1000);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
logger.error(name);
}
}
private void addApps() throws IOException
{
appender.setFile("C:\\logs\\" + name + ".log");
appender.setAppend(false);
// set your own Layout
appender.setLayout(Utils.PATTERN_LAYOUT);
appender.setName(name);
logger.setAdditivity(false);
appender.activateOptions();
logger.addAppender(appender);
}
public static void main(String... args) throws IOException
{
ThreadTestlog4j a = new ThreadTestlog4j("aa");
ThreadTestlog4j b = new ThreadTestlog4j("bb");
a.start();
b.start();
}
}
Einfach mal die log files anschauen die dabei herauskommen dann erkennt man schnell das Problem.
Danke schon mal im Vorraus