当前页面: 开发资料首页 → J2SE 专题 → log无法显示行号
log无法显示行号
摘要: log无法显示行号
为什么配置log4j后,日志中本应该打印文件名行号的地方却变成了问号。
09/06 10:37:00,340 INFO pbs.kernal.channel.comm.SocketChannel(Thread-10) [?:?] - :初始化成功!
这与我打包成jar包运行有关吗
-#60;appender name=-#34;STDOUT-#34; class=-#34;org.apache.log4j.ConsoleAppender-#34;-#62;
-#60;layout class=-#34;org.apache.log4j.PatternLayout-#34;-#62;
-#60;param name=-#34;ConversionPattern-#34; value=-#34;%d{MM/dd HH:mm:ss,SSS} %-5p %c(%t) [%F:%L] - %x:%m%n-#34;/-#62;
-#60;/layout-#62;
-#60;/appender-#62;
不清楚,帮顶
不要导入jar包,要调用调试模块的src
打包??
直接用
不能直接导入jar包来用吗
但是为什么有一部分又可以呢
09/06 16:43:44,159 INFO org.apache.struts.util.PropertyMessageResources(main) [PropertyMessageResources.java:127] - :Initializing,
config=-#39;org.apache.struts.util.LocalStrings-#39;, returnNull=true
Tomcat 5.0/common/lib加载顺序先于webapp
并且servlet-api.jar必须在Tomcat 5.0/common/lib中,否则无法启动
当加载servlet-api.jar时,会读取web.xml,并初始化里面的servlet,ActionServlet被加载,struts配置文件被加载,在加载这些配置文件时,struts会以log.trace级别打印日志,而这时log4j还没有被加载,所以按照默认级别all打印日志,至于为什么会打印src的行号,我本地是没有的,可能和log4j,tomcat等的版本有关
你是不是用的javac -g:none 来编译你的文件的????
C:/Documents and Settings/aa-#62;javac
用法:javac -#60;选项-#62; -#60;源文件-#62;
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
我用的是weblogic8.1sp4在aix平台下,因为原先平台是由集成商提供留下的,最近在日志配置文件中加入[%F:%L]参数后,出现以上现象。
%c:输出日志信息所属的类的全名
%d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
%F :输出日志信息所属的类的类名
%L :输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行(.java格式源文件)
%m :输出代码中指定的信息,如log(message)中的message
%n :输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
%p :输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r :输出自应用启动到输出该日志信息所耗费的毫秒数
%t :输出产生该日志事件的线程名