【问题标题】:Log4 appender not found未找到 Log4 附加程序
【发布时间】:2016-11-17 09:11:52
【问题描述】:

我正在制作 AXIS2 网络服务,并且我使用了 Log4j。运行应用程序时出现错误

 [java] log4j:WARN No appenders could be found for logger (org.apache.axis2.deployment.FileSystemConfigurator).
 log4j:WARN Please initialize the log4j system properly.

我做了以下事情

  1. 我已将 commons-logging 属性更改为使用 log4j(因为 AXIS 正在使用通用日志记录)
  2. 为了检查 log4j.properties 是否在类路径中,我使用了资源包和尝试从 log4j.properties 中打印的属性

myapp.aar 文件的目录结构如下

我怎么从这里往前走,我一无所知请帮帮我。

按照建议,我使用 -Dlog4j.debug=true 运行我的应用,但在哪里可以找到 log4j 日志

Execute:Java13CommandLauncher: Executing 'C:\Program Files\Java\jdk1.8.0_101\jre\bin\java.exe' with arguments:
'-classpath'
'D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-launcher.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-antlr.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-apache-bcel.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-apache-bsf.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-apache-log4j.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-apache-oro.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-apache-regexp.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-apache-resolver.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-apache-xalan2.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-commons-logging.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-commons-net.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-jai.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-javamail.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-jdepend.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-jmf.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-jsch.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-junit.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-junit4.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-netrexx.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-swing.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant-testutil.jar;D:\Trikon\SCA Certification\SCA SAP Certification\Software\apache-ant-1.9.7\lib\ant.jar;C:\Program Files\Java\jdk1.8.0_101\lib\tools.jar;C:\axis2-1.5.4-bin\lib\XmlSchema-1.4.3.jar;C:\axis2-1.5.4-bin\lib\activation-1.1.jar;C:\axis2-1.5.4-bin\lib\antlr-2.7.7.jar;C:\axis2-1.5.4-bin\lib\axiom-api-1.2.10.jar;C:\axis2-1.5.4-bin\lib\axiom-dom-1.2.10.jar;C:\axis2-1.5.4-bin\lib\axiom-impl-1.2.10.jar;C:\axis2-1.5.4-bin\lib\axis2-adb-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-adb-codegen-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-ant-plugin-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-clustering-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-codegen-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-corba-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-fastinfoset-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-java2wsdl-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-jaxbri-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-jaxws-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-jibx-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-json-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-kernel-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-metadata-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-mtompolicy-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-saaj-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-soapmonitor-servlet-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-spring-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-transport-http-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-transport-local-1.5.4.jar;C:\axis2-1.5.4-bin\lib\axis2-xmlbeans-1.5.4.jar;C:\axis2-1.5.4-bin\lib\bcel-5.1.jar;C:\axis2-1.5.4-bin\lib\commons-codec-1.3.jar;C:\axis2-1.5.4-bin\lib\commons-fileupload-1.2.jar;C:\axis2-1.5.4-bin\lib\commons-httpclient-3.1.jar;C:\axis2-1.5.4-bin\lib\commons-io-1.4.jar;C:\axis2-1.5.4-bin\lib\commons-logging-1.1.1.jar;C:\axis2-1.5.4-bin\lib\geronimo-annotation_1.0_spec-1.1.jar;C:\axis2-1.5.4-bin\lib\geronimo-jaxws_2.1_spec-1.0.jar;C:\axis2-1.5.4-bin\lib\geronimo-jta_1.1_spec-1.1.jar;C:\axis2-1.5.4-bin\lib\geronimo-saaj_1.3_spec-1.0.1.jar;C:\axis2-1.5.4-bin\lib\geronimo-stax-api_1.0_spec-1.0.1.jar;C:\axis2-1.5.4-bin\lib\geronimo-ws-metadata_2.0_spec-1.1.2.jar;C:\axis2-1.5.4-bin\lib\httpcore-4.0.jar;C:\axis2-1.5.4-bin\lib\jalopy-1.5rc3.jar;C:\axis2-1.5.4-bin\lib\jaxb-api-2.1.jar;C:\axis2-1.5.4-bin\lib\jaxb-impl-2.1.7.jar;C:\axis2-1.5.4-bin\lib\jaxb-xjc-2.1.7.jar;C:\axis2-1.5.4-bin\lib\jaxen-1.1.1.jar;C:\axis2-1.5.4-bin\lib\jettison-1.0-RC2.jar;C:\axis2-1.5.4-bin\lib\jibx-bind-1.2.1.jar;C:\axis2-1.5.4-bin\lib\jibx-run-1.2.1.jar;C:\axis2-1.5.4-bin\lib\juli-6.0.16.jar;C:\axis2-1.5.4-bin\lib\log4j-1.2.15.jar;C:\axis2-1.5.4-bin\lib\mail-1.4.jar;C:\axis2-1.5.4-bin\lib\mex-1.5.4-impl.jar;C:\axis2-1.5.4-bin\lib\neethi-2.0.4.jar;C:\axis2-1.5.4-bin\lib\regexp-1.2.jar;C:\axis2-1.5.4-bin\lib\tribes-6.0.16.jar;C:\axis2-1.5.4-bin\lib\woden-api-1.0M8.jar;C:\axis2-1.5.4-bin\lib\woden-impl-dom-1.0M8.jar;C:\axis2-1.5.4-bin\lib\wsdl4j-1.6.2.jar;C:\axis2-1.5.4-bin\lib\wstx-asl-3.2.9.jar;C:\axis2-1.5.4-bin\lib\xalan-2.7.0.jar;C:\axis2-1.5.4-bin\lib\xercesImpl-2.8.1.jar;C:\axis2-1.5.4-bin\lib\xml-resolver-1.2.jar;C:\axis2-1.5.4-bin\lib\xmlbeans-2.3.0.jar'
'org.apache.axis2.transport.http.SimpleHTTPServer'
'-Dlog4j.debug=true'
'./build/repo'
'-p15000'
'-Dlog4j.debug=true'

【问题讨论】:

  • 把你的日志属性放到 Java 类路径中
  • 我看不到带参数的 log4j 日志,
  • @YeWin : 你能帮帮我吗
  • 我的意思是将你的日志属性文件设置为 Java 类路径

标签: java logging ant log4j axis2


【解决方案1】:

在 Axis 2 Web 服务中定义 log4j 配置文件位置的另一个选项是使用 HttpServlet,它会在应用程序启动时激发并将文件的位置定义到 log4j。需求代码如下:

1.在web.xml中定义你的servlet

 <servlet>
    <servlet-name>log4j-init</servlet-name>
    <servlet-class>com.log.LogInit</servlet-class>
    <init-param>
        <param-name>app-log4j-file</param-name>
        <param-value>/WEB-INF/conf/log4j.properties</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

在本例中,log4j.properties 文件的位置在 WEB-INF->conf 下

1.创建LogInit类扩展com.log包下的HttpServlet

public class LogInit extends HttpServlet{
/**
 * 
 */
private static final long serialVersionUID = 1L;

public void init() {
    String path =  getServletContext().getRealPath("/");
    String fileName = getInitParameter("app-log4j-file");
    String strPathFile = path + fileName;
    if(strPathFile != null) {
      PropertyConfigurator.configure(strPathFile);
   }
}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2015-11-02
    • 1970-01-01
    • 2017-01-06
    • 2019-07-02
    • 1970-01-01
    相关资源
    最近更新 更多