Java LogLevel.INFO在Jboss日志中打印为错误[STDERR],有什么问题?
我一直在使用MyEclipse将一些数据库表重新设计到EJB中。在此过程中,MyEclipse创建了一个名为LogUtil的类,如下所示:Java LogLevel.INFO在Jboss日志中打印为错误[STDERR],有什么问题?,java,logging,log4j,Java,Logging,Log4j,我一直在使用MyEclipse将一些数据库表重新设计到EJB中。在此过程中,MyEclipse创建了一个名为LogUtil的类,如下所示: public class LogUtil { private static final Logger logger; static { logger = Logger.getLogger("SupplierDatabaseEJBPU"); logger.setLevel(Level.ALL); } public static void
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
似乎两个伐木工人被拴在一起(日期打印了两次)。假设:第一个是将级别信息记录到控制台。Jboss截取系统输出流,并使用自己的记录器(使用错误级别)记录它们。听起来是一个很好的解释。我重写了通用日志,希望现在可以更好地工作。