Java 我正在使用axis生成客户端类。我需要在我的应用程序中使用log4j

Java 我正在使用axis生成客户端类。我需要在我的应用程序中使用log4j,java,log4j,axis2,Java,Log4j,Axis2,但是,当我使用Logger.debug时,axis生成的类也会写入日志文件。我只想要项目的日志信息。有人能帮我吗。我认为,您应该为应用程序的类配置不同的记录器 在属性配置中,应如下所示: log4j.rootLogger=ERROR,stdout log4j.logger.com.yourapp.rootpackage=INFO,logfile 我的意思是,stdout是一个控制台追加器,logfile是一个文件追加器。Packagecom.yourapp.rootpackage是应用程序类的

但是,当我使用Logger.debug时,axis生成的类也会写入日志文件。我只想要项目的日志信息。有人能帮我吗。

我认为,您应该为应用程序的类配置不同的记录器

在属性配置中,应如下所示:

log4j.rootLogger=ERROR,stdout
log4j.logger.com.yourapp.rootpackage=INFO,logfile
我的意思是,stdout是一个控制台追加器,logfile是一个文件追加器。Packagecom.yourapp.rootpackage是应用程序类的根包

正如您所看到的,只有和应用程序的类关联的记录器才会写入日志文件appender。根记录器(与所有类关联的记录器)正在写入控制台


我建议您进一步了解配置以及log4j的所有可能性。

将以下代码添加到log4j.xml将阻止axis生成的类将日志写入调试文件


如果使用属性文件配置,请使用

log4j.category.org.apache.axis=INFO