Tôi có cấu hình XML sau đây tôi muốn chuyển đổi sang tệp thuộc tính java.log4j StringToMatch trong tập tin thuộc tính
Tôi nhận được dưới đây lỗi
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 configration My
<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"/>
Sau khi chuyển đổi các tập tin tài sản là như dưới đây. Với cấu hình XML nó hoạt động tốt.
tài sản tập
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
[email protected]
[email protected]
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
Xin vui lòng cho tôi biết làm thế nào tôi có thể sử dụng StringToMatch trong tập tin tài sản và xác định
Cú pháp để thêm bộ lọc để một appender là: log4j.appender.appenderName.filter.ID = fully.qualified.name.of.filter.class log4j.appender. appenderName.filter.ID.option1 = value1 ... log4j.appender.appenderName.filter.ID.optionN = valueN Tôi thấy điều này trong liên kết ở trên mà bạn đã gửi. Tôi không thực sự chắc chắn về điều này – user171523
Câu trả lời này là không đúng –
Câu trả lời là chính xác ... Tôi đã thử nghiệm 1.2.15, 1.2.16, 1.2.17 và PropertyConfigurator không hoạt động cho bộ lọc ... Tôi đã đọc bình luận bên dưới của bạn ("Nó hoạt động. 1.2.16 - Jan Zyka 15/11 'lúc 8:48") ... Nhưng điều này không đúng @JanZyka. Bạn có thể vui lòng chia sẻ cấu hình của bạn ??? – Aykut