我一直在使用MyEclipse来重新设计一些数据库表到EJB。在这个过程中,MyEclipse创建了一个名为LogUtil的类,如下所示:
public class LogUtil {
private static final Logger logger;
static {
logger = Logger.getLogger("SupplierDatabaseEJBPU");
logger.setLevel(Level.ALL);
}
public static void log(String info, Level level, Throwable ex) {
logger.log(level, info, ex);
}
public static Logger getLogger() {
return logger;
}
}
然后,它会将记录插入到许多生成的方法中,例如:
public void save(PurchaseOrderInput entity) {
LogUtil.log("saving PurchaseOrderInput instance", Level.INFO, null);
try {
entityManager.persist(entity);
LogUtil.log("save successful", Level.INFO, null);
} catch (RuntimeException re) {
LogUtil.log("save failed", Level.SEVERE, re);
throw re;
}
}
我对记录器没有经验,所以也许这很容易......
当我运行上面发布的方法时,以下是我在server.log中获得的内容。
2011-02-23 09:22:30,301 ERROR [STDERR] 2011-feb-23 09:22:28 se.ahlens.intranet.apps.supplierdatabase.LogUtil log
INFO: save successful
我觉得这很令人困惑。它应该看起来像这样吗?我期待着一些事情:
2011-02-23 00:05:30,348 INFO [SupplierDatabaseEJBPU] INFO: save successful
答案 0 :(得分:2)
似乎有两个记录器被链接(日期被打印两次)。假设:第一个是使用级别信息记录到控制台。 Jboss拦截系统输出流并使用自己的记录器(使用错误级别)记录它们