我收到Caused by: javax.el.PropertyNotFoundException
,但这不会显示在我的文件log4j中,只是在server.log(Jboss EAP 7)中。我已经配置了log4j,但没有工作:
log4j.rootLogger=INFO, logfile
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=\${user.home}/myproject/log/app.log
log4j.appender.logfile.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%-5p %d{dd/MM/yyyy HH:mm:ss} [%c:%L] - %m%n
log4j.logger.javax.faces=ERROR
log4j.logger.javax.el=INFO
log4j.logger.com.sun.faces=ERROR
答案 0 :(得分:0)
此异常未出现在log4j生成的日志中的事实更可能是代码问题,而不是配置问题。
如果你没有以某种方式捕获异常并将其传递给记录器,那么它将不会显示在log4j生成的日志中,而是写入System.out(在服务器环境中通常意味着服务器日志) )。
由于这是RuntimeException
的子类,因此它不是一个经过检查的异常(请参阅the javadoc of RuntimeException和PropertyNotFoundException)这就是为什么我猜你没有把它包围在试试中-catch block。
您需要执行以下操作:
try{
//Code that might throw the PropertyNotFoundException goes here
}catch(PropertyNotFoundException e){
logger.error("Some kind of error message here!", e);
//Do something to handle the exception...
}