属性文件中的 log4j StringToMatch [英] log4j StringToMatch in property file

查看:25
本文介绍了属性文件中的 log4j StringToMatch的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 XML 配置,我想转换为 java 属性文件.

I have following XML configration i would like to convert to java property file.

我收到以下错误

log4j:WARN Failed to set property [filter] to value "org.apache.log4j.varia.DenyAllFilter".
log4j:ERROR Could not instantiate class [true].
java.lang.ClassNotFoundException: true
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198)
    at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:326)
    at org.apache.log4j.PropertyConfigurator.parseAppenderFilters(PropertyConfigurator.java:881)
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:812)
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
    at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395)
    at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:403)
    at simpandfile.main(simpandfile.java:10)

我的 XML 配置

  <filter class="org.apache.log4j.varia.StringMatchFilter">
    <param name="StringToMatch" value="FileNotfound" />
    <param name="AcceptOnMatch" value="true" />
  </filter>

  <filter class="org.apache.log4j.varia.LevelRangeFilter">
        <param name="LevelMin" value="ERROR"/>
        <param name="LevelMax" value="FATAL"/>
    </filter>

  <filter class="org.apache.log4j.varia.DenyAllFilter"/>

转换后的属性文件如下.使用 XML 配置它工作正常.

After converting the property file is as below. With XML configration it is working fine.

属性文件

log4j.rootLogger=INFO, MAIL

log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
# here's where I specify the layout and the pattern

log4j.appender.MAIL.BufferSize=1
log4j.appender.MAIL.SMTPHost=xxx.example.com
log4j.appender.MAIL.From=xxx@example.com
log4j.appender.MAIL.To=xxx@example.com
log4j.appender.MAIL.Subject=Test Email.
log4j.appender.MAIL.threshold=error
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n
log4j.appender.MAIL.filter=org.apache.log4j.varia.StringMatchFilter
log4j.appender.MAIL.filter.StringToMatch=Filenotfound
log4j.appender.MAIL.filter.AcceptOnMatch=true
log4j.appender.MAIL.filter=org.apache.log4j.varia.DenyAllFilter


log4j.logger.com.devdaily.myapp=DEBUG
log4j.logger.org.springframework=DEBUG

请让我知道如何在属性文件中使用 StringToMatch 并指定

Please let me know how i can use StringToMatch in property file and specify

推荐答案

属性文件不支持过滤器.您必须切换到 XML 配置.

Properties files don't support filters. You'll have to switch to an XML configuration.

来自过滤器的文档:

请注意,过滤仅支持 DOMConfigurator.PropertyConfigurator 不支持过滤器.

Note that filtering is only supported by the DOMConfigurator. The PropertyConfigurator does not support filters.

<小时>

资源:

关于同一主题:

这篇关于属性文件中的 log4j StringToMatch的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆