package firstAOP;
import java.util.logging.Logger;
public class OrderDAO
{
private final static Logger logger = Logger.getLogger(OrderDAO.class.getName());
public boolean saveOrder(Order order)
{
boolean flag =false;
try
{
//functional code
flag = true;
}
catch(Exception e)
{
logger.error(e);
}
return flag;
}
}
在上面的代码中,我在“logger.error(e)”行中收到错误 这是错误: 对于Logger类型
,方法error()未定义其他方法如logger.info正在运行。
如果问的不是太多,请告诉我,我是否正确地声明了记录器。如果我写下会发生什么:
private final static Logger logger = Logger.getLogger(SaveOrder.class.getName());
SaveOrder是同一个包中的另一个类。
答案 0 :(得分:5)
您使用的是java.util.logging.Logger,此记录器没有error()
方法。
使用
Logger.log(Level, String);
Logger.log(Level, String, Throwable);
中定义的其中一个级别
或
Logger.severe(String);
...到你的第二个问题:
记录器声明良好。
如果您将记录器声明更改为
private final static Logger logger = Logger.getLogger(SaveOrder.class.getName());
然后记录器将有另一个名称。配置日志记录系统时使用该名称。我建议你阅读Java Logging Overview并在有关于java日志系统的特定问题时回来。
答案 1 :(得分:1)
另一种选择:
请尝试以下添加导入:
import org.apache.log4j.Logger;
并删除
import java.util.logging.Logger;
LOG.error(e.getMessage(),e);
另一个例子:
LOG.error("Error in loading the product data for Mass Request : = " + requestId);
信息级别日志记录的示例:
LOG.info("Loading the product data...for " + requestId);