问题描述
throw new RuntimeException();为什么项目中的错误信息属于DEBUG级别的~如果改成INFO,日志就不打印ERROR级别的信息了 2012-05-28 15:39:50 [DEBUG] org.springframework.web.servlet.DispatcherServlet {FrameworkServlet.java:910} - Could not complete request java.lang.RuntimeExceptionat com.jmoa.power.controller.UserLoginController.verification(UserLoginController.java:20)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)谁能解答小弟疑惑,如果我想在日志中打印,又必须设置成info级别的 log4j有没有什么办法?? 问题补充:可能说的不够清楚,补充描述下log4j.rootLogger=DEBUG,CONSOLE, File上述设置 可以抓取 throw new RuntimeException(); log4j.rootLogger=INFO,CONSOLE, FileINFO级别就抓不到 throw new RuntimeException(); 原因是这个错误属于DEBUG级别 DEBUG>INFO>ERROR 所以INFO抓不到如何设置才能满足我的需求 设置成INFO以后 也可以抓到错误形成日志?
解决方案
用你的 log.info("错误信息") 去输出你的错误信息
解决方案二:
可以单独配置某个category为debug级别输出如果,你用class名称初始化logger,这个category就是classname
解决方案三:
给个配置给你参考下,重点注意这句的配置log4j.logger.com.youwebsite....=INFO# Output pattern : date [thread] priority category - messagelog4j.rootLogger=WARN, Console, RollingFile#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n#RollingFilelog4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.RollingFile.File=website.loglog4j.appender.RollingFile.layout=org.apache.log4j.PatternLayoutlog4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n#Project defalult levellog4j.logger.com.youwebsite....=INFO#重点这这里com.youwebsite为你的包名()#Forbidden struts2 ClassFinder message log4j.logger.com.opensymphony.xwork2.util.finder.ClassFinder=OFF