1

我在执行日志时遇到问题。我有两个项目:一个是 servlet,另一个是一个简单的 java 文件。private static Logger logger=Logger.getLogger(myServiceServlet.class);这工作正常。它的写作日志当我开始运行 Tomcat 服务器时。但同样的事情在我的简单java文件中没有实现,它转换成WS并尝试部署在axis/Tomcat服务器中Servlet直接运行在Tomcat服务器中。但是java文件在Axis2--->Tomcat服务器里面被转换成Webservice.aar。

日志属性

# Log levels
log4j.rootLogger=INFO,CONSOLE,R

# Appender Configuration
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

# Pattern to output the caller's file name and line number
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

# Rolling File Appender
log4j.appender.R=org.apache.log4j.RollingFileAppender

# Path and file name to store the log file
log4j.appender.R.File=C:/res backup/apache-tomcat-6.0.35/webapps/mylog/logs/servicelog.log
log4j.appender.R.MaxFileSize=2048KB

# Number of backup files
log4j.appender.R.MaxBackupIndex=50

# Layout for Rolling File Appender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %c - %p - %m%n`
4

1 回答 1

0

.aar 文件未在与 WEB-INF/lib 中的 JAR 相同的上下文中运行。

它们共享某种上下文,因为您可以加载对 WEB-INF/lib 类的引用,但此时它不是 100% 一致的。

我建议您在 .aar 文件中构建某种包装器,然后将调用转发到位于 WEB-INF/lib 中的 JAR 文件的方法中。

您只需要确保将 .aar 中的引用正确加载到 WEB-INF/lib 上下文中的方法。

要在 .aar 类中抛出错误,我建议您捕获它们,然后抛出“AxisFault”。

throw new AxisFault(err.getMessage());

http://axis.apache.org/axis2/java/core/api/org/apache/axis2/AxisFault.html

通过这种方式,我们几乎可以解决 .aar 文件上下文中的所有问题。

塞巴斯蒂安

于 2012-10-12T14:11:11.943 回答