atomikos在使用时相当冗长。事务管理器向控制台写入的信息消息似乎很多(对我来说几乎不相关)。transaction.properties中用于控制消息com.atomikos.icatch.console_log_级别的设置似乎没有任何效果,因为即使设置为warn(或error),信息消息仍会被记录。此外,com.atomikos和atomikos的log4j设置似乎被忽略。
有没有人能用atomikos关闭控制台上的信息日志?。怎么做?
谢谢
彼得
最佳答案
我正在使用Atomikos 3.8进行测试,并尝试了这里列出的所有解决方案(2012年7月4日),但都没有成功。
因此,我创建了以下类mockatomikoslogger,并在我的测试设置中调用configure方法。
测试设置代码片段:
MockAtomikosLogger.configure();
模拟记录器如下:
package com.atomikos.logging;
import com.atomikos.logging.Logger;
public class MockAtomikosLogger implements Logger {
org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(getClass());
public static void configure() {
com.atomikos.logging.LoggerFactory.setLoggerFactoryDelegate(
new LoggerFactoryDelegate() {
@Override
public Logger createLogger(Class<?> clazz) {
return new MockAtomikosLogger();
}
});
}//end configure
@Override
public void logWarning(String message) {
logger.warn(message);
}
@Override
public void logInfo(String message) {
}
@Override
public void logDebug(String message) {
}
@Override
public void logWarning(String message, Throwable error) {
logger.warn(message, error);
}
@Override
public void logInfo(String message, Throwable error) {
}
@Override
public void logDebug(String message, Throwable error) {
}
@Override
public boolean isDebugEnabled() {
return false;
}
@Override
public boolean isInfoEnabled() {
return false;
}
}