免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1940 | 回复: 1
打印 上一主题 下一主题

log4j不能输出类名和错误行,我的错误在哪里 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-07 15:44 |只看该作者 |倒序浏览
log4j.properties文件:
log4j.rootLogger=info,CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= %4p [%t] ( %F : %L ) - %m%n - [%c]-[%L]

Sample.java测试类:
package log4j;

import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
//import org.apache.log4j.SimpleLayout;
import org.apache.log4j.PatternLayout;

public class Sample {
static Logger logger = Logger.getLogger(Sample.class);

public static void main(String args[]) {
//SimpleLayout layout = new SimpleLayout();
PatternLayout layout = new PatternLayout("%4p [%t] (%F:%L) - %m%n");
FileAppender appender = null;
try {
//把输出端调置到output.txt
appender = new FileAppender(layout, "output.txt", false);
} catch (Exception e) {
}
logger.addAppender(appender); //添加输出端
logger.setLevel((Level) Level.DEBUG);//覆盖了配置文件中的info级别
logger.debug("Here is DEBUG message ");
logger.info("Here is INFO message");
logger.warn("Here is WARN message");
logger.error("Here is ERROR message");
logger.fatal("Here is FATAL message");
}
}
ant的build.xml文件:
<?xml version="1.0"?>
<project default="run" basedir=".">
<property name="src" value="src" />
<property name="compile" value="classes" />
<property name="myclasspath" value="${compile}" />
<property name="lib.dir" value="../public_lib/" />
<path id="libAndClass.path">
<!-- Include own classes -->
<pathelement location="${myclasspath}" />
<!-- Include Hibernate and mysql's jar package -->
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>

<target name="prepare">
<delete dir="${compile}" />
<mkdir dir="${compile}" />
<!-- Copy property files and O/R mappings -->
<copy todir="${compile}">
<fileset dir="${src}">
<include name="**/*.properties" />
<include name="**/*.xml" />
</fileset>
</copy>
</target>
<target name="compile" depends="prepare">
<javac srcdir="${basedir}" destdir="${compile}">
<classpath refid="libAndClass.path" />
</javac>
</target>
<target name="run" depends="compile">
<java fork="yes" classname="login.LoginServletMockTest">

<classpath refid="libAndClass.path" />

</java>
</target>
</project>
运行结果:
Buildfile: build.xml

prepare:
[delete] Deleting directory E:\STPrograms\log4j\classes
[mkdir] Created dir: E:\STPrograms\log4j\classes
[copy] Copying 2 files to E:\STPrograms\log4j\classes

compile:
[javac] Compiling 1 source file to E:\STPrograms\log4j\classes

run:
[java] DEBUG [main] ( ? : ? ) - Here is DEBUG message
[java] - [log4j.Sample]-[?]
[java] INFO [main] ( ? : ? ) - Here is INFO message
[java] - [log4j.Sample]-[?]
[java] WARN [main] ( ? : ? ) - Here is WARN message
[java] - [log4j.Sample]-[?]
[java] ERROR [main] ( ? : ? ) - Here is ERROR message
[java] - [log4j.Sample]-[?]
[java] FATAL [main] ( ? : ? ) - Here is FATAL message
[java] - [log4j.Sample]-[?]

BUILD SUCCESSFUL
Total time: 2 second


这个类名输出?

论坛徽章:
0
2 [报告]
发表于 2006-06-07 19:57 |只看该作者

原来是ant作怪

经过JavaWorld论坛的xyz20003指导,找到了问题的源头:
<javac srcdir="${basedir}" destdir="${compile}" debug="yes">

ant在使用javac编译源程序的时候,debug默认是关闭的。打开就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP