Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Properties 属性文件中的log4j StringToMatch_Properties_Smtp_Log4j - Fatal编程技术网

Properties 属性文件中的log4j StringToMatch

Properties 属性文件中的log4j StringToMatch,properties,smtp,log4j,Properties,Smtp,Log4j,我有以下XML配置,我想转换为java属性文件 我正在犯错误 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(URL

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

我正在犯错误

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"/>

请告诉我如何在属性文件中使用StringToMatch,并指定属性文件不支持筛选器。您必须切换到XML配置

从过滤器的文档中:

请注意,筛选仅由支持。不支持筛选器


资源:

关于同一主题:


确实有效

将筛选器添加到appender的语法是:log4j.appender.appenderName.filter.ID=full.qualified.name.of.filter.class log4j.appender.appenderName.filter.ID.option1=value1。。。log4j.appender.appenderName.filter.ID.optionN=valueN我在您发送的上述链接中看到了这一点。我不是很确定这个答案是否正确。。。我测试了1.2.15、1.2.16、1.2.17和PropertyConfiguration不适用于过滤器。。。我读了你下面的评论(“1.2.16-Jan Zyka 11月15日8:48有效”)。。。但这不是真的@JanZyka。你能分享你的配置吗???使用1.2.16和1.2.17的属性文件对我来说很好。不适用于1.2.15或1.2.8。当从
log4j.properties
进行设置时,过滤器也适用于我。在“理想世界”中,每个人都将使用log4j2而不是log4j(其“官方”寿命结束于2015年)。不过,PropertyConfiguration确实支持log4j-1.2.16和1.2.17(最终的log4j版本)的过滤器。我已经尝试过了,它确实有效。检查Log4j版本。我使用的是1.2.16。在应用转换模式之前,它在预格式化文本上工作。javadoc不是最新的,因为它没有反映源代码(或者可能相反),我很难找到最新的。我在这里写了一个关于多个过滤器的完整答案;根据您的log4j版本,启用多个过滤器的方式会发生变化
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
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %-6p [%c] %m%n
log4j.appender.console.filter.1=org.apache.log4j.varia.StringMatchFilter
log4j.appender.console.filter.1.StringToMatch=entered
log4j.appender.console.filter.1.AcceptOnMatch=true
log4j.appender.console.filter.2=org.apache.log4j.varia.DenyAllFilter