J'ai la configuration XML suivante que je voudrais convertir en fichier de propriétés java.log4j StringToMatch dans le fichier de propriétés
Je reçois ci-dessous erreur
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)
Mon XML configration
<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"/>
Après la conversion du fichier de propriétés est comme ci-dessous. Avec la configuration XML, cela fonctionne bien.
propriété Fichier
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
S'il vous plaît laissez-moi savoir comment je peux utiliser StringToMatch dans le fichier de la propriété et spécifiez
La syntaxe pour l'ajout de filtres à un appender est: log4j.appender.appenderName.filter.ID = fully.qualified.name.of.filter.class log4j.appender. appenderName.filter.ID.option1 = valeur1 ... log4j.appender.appenderName.filter.ID.optionN = valeurN Je vois cela dans le lien ci-dessus que vous avez envoyé. Je ne suis pas vraiment très sûr à ce sujet – user171523
Cette réponse est fausse –
La réponse est correcte ... J'ai testé 1.2.15, 1.2.16, 1.2.17 et PropertyConfigurator ne fonctionnait pas pour les filtres ... J'ai lu votre commentaire ci-dessous ("Ça marche 1.2.16 - Jan Zyka 15 novembre 11 à 08:48") ... Mais ce n'est pas vrai @JanZyka. Pourriez-vous s'il vous plaît partager votre configuration ??? – Aykut