论坛首页 Web前端技术论坛

javaweb项目RuntimeException不能默认打印到控制台

浏览 5641 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-11-26  

前几天搭建了一个框架: 配置 struts2 spring2  ibatis
 

 
 struts   http://struts.apache.org/   struts2.3.4.1
 spring  http://www.springsource.org/download    srping  3.1.3
 ibatis  2.3.0.677

 

搭建完成后,写了些测试都通过,添加了log4j 的日志输出,昨天朋友说,出现异常后,一样直接抛到jsp页面了,控制台干干净净的,没有任何错误!

今天我就看了一下,开始以为是log4j日志级别设置的问题,网上找了很多资料,只有提问没有回答!

 

最后自己也找了写了个示例,发现 基本的 NullPointerException 异常也不能在控制台输出

 

查看资料后发现对于RuntimeException  是可以在控制台输出的,但是这里没有输出堆栈信息

 

public String deleteUser(){
		int count=userService.deleteUser(user.getUser_id());
		log.info("测试 spring 注入 Dao  end");
		log.info("-------------级别");
		log.info("info");
		log.warn("warn");
		log.debug("debug");
		log.error("error");
		System.out.println("levle:"+log.getLevel());
		log.info("-------------级别");
		if(1==count){
			return SUCCESS;
		}else{
			return  ERROR;
		}
	}

 

 

以上代码 在user为 null  ,这里就会出错了!可是控制台  没有错误信息,加上 try  catch 之后,控制台才可以打出!

解决不了?

 

 

 

希望高手指点一下,是不是哪里配置错了?好久没用使用SSH框架了,这突然用遇到不少问题!是不是版本升级需要在哪里配置?

   发表时间:2012-11-26  
see下你log4j.properties
0 请登录后投票
   发表时间:2012-11-27  
# The five logging levels used by Log are (in order):
#
#   1. DEBUG (the least serious)
#   2. INFO
#   3. WARN
#   4. ERROR
#   5. FATAL (the most serious)

# Set root logger level to INFO and append to stdout
log4j.rootLogger=INFO,stdout,file

# stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n

# file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=orderMeal.log
log4j.appender.file.DatePattern='.'yyyyMMdd'.log'
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

# my
log4j.logger.com.om=INFO

log4j.logger.com.opensymphony=INFO
log4j.logger.org.apache=INFO
log4j.logger.org.springframework=INFO
log4j.logger.com.ibatis = DEBUG


log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG 
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG 
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG 
log4j.logger.java.sql.Connection = DEBUG 
log4j.logger.java.sql.Statement = DEBUG 
log4j.logger.java.sql.PreparedStatement = DEBUG 
log4j.logger.java.sql.ResultSet = DEBUG 


0 请登录后投票
   发表时间:2012-11-28  
貌似没什么问题
0 请登录后投票
   发表时间:2012-11-28  
检查一下你的各个版本JAR。遇到过一次不打印日志的情况,控制台只打印SQL Insert的操作,其他如update等日志不显示,后来换了个版本,发现是mybatis版本问题....
0 请登录后投票
   发表时间:2012-11-28  
当然该记录的日志是mybatis应该写出来的,结果其没写出来,所以找Mybatis的茬,你可用一样找..
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics