|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2006
Messaggi: 88
|
[JAVA] Log4j - Smtpappender
Salve a tuti,
ho un problema che non sto riuscendo a risolvere. Vorrei tramite il log4j inviare una mail ogni qualvolta si presenta nel log un WARN (warning). (Di default smtpappender invia una mail quando si presenta un livello ERROR o superiore). Ho creato il file log4j.properties: codice: log4j.logger.servlet=WARN, mail log4j.appender.mail=org.apache.log4j.net.SMTPAppender log4j.appender.mail.threshold=WARN log4j.appender.mail.BufferSize=1 log4j.appender.mail.SMTPHost=mail.libero.it [email protected] [email protected] log4j.appender.mail.Subject=Log Tomcat log4j.appender.mail.layout=org.apache.log4j.PatternLayout log4j.appender.mail.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n log4j.appender.myMail.EvaluatorClass=MyEvaluator MyEvaluator.java: codice: import org.apache.log4j.Level; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.TriggeringEventEvaluator; public class MyEvaluator implements TriggeringEventEvaluator { public boolean isTriggeringEvent( LoggingEvent event ) { return event.getLevel().isGreaterOrEqual( Level.WARN ); } } Ho compilato questa classe ed ho creato pure un file jar MyEvaluator.jar contenete la classe. Ho provato a copiare nella cartella lib di tomcat entrambi i file (sia il .class che il .jar) però niente, non funziona. Vorrei sapere: 1) quale file devo utilizzare (.class o .jar) e 2) dove posizionarlo. Ho provato a cercare su internet ma non ho trovato una risposta. Qualcuno mi potrebbe aiutare?????? Ciao e grazie in anticipo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2009
Messaggi: 1161
|
non ho mai definito evaluator custom.. ma...
quando tu scrivi log4j.appender.myMail.EvaluatorClass=MyEvaluator non dovresti dare il path completo comprensivo di package della classe MyEvaluator? perchè metti myMail come appender quando invece l'appender che stai definendo è mail? E infine.. non capisco perchè devi scriver tu l'evaluator.. di solito il livello di errore sul quale viene inviata la email viene preso dalla configurazione del log4j...
__________________
Web2.0 Guides And Tutorials SLR: Canon 6D ZOOM: Canon EF 24-105mm f/4L IS USM FISSI: - Canon EF 28mm f/1.8 USM - Canon EF 40mm f/2.8 STM - Canon EF 50mm f/1.4 USM - Canon EF 100mm f/2 USM - Canon EF 200mm f/2.8L USM II ALTRO: Canon 430 EX II |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Feb 2006
Messaggi: 88
|
Per quanto riguarda myMail è stato un errore di trascrizione.
Voglio scrivere io l'evaluator perchè voglio inviare mail anche in caso di solo warning. Adesso pure che aggiungo il package, cosa devo mettere ????dove devo mettere???devo fare un jar???o devo utilizzarre il file.class??? e poi dove li devo mettere???in che cartella??? og4j.appender.mail.evaluatorClass=com.millersystems.example.spi.MyEvaluator MyEvaluator.java: codice: package com.millersystems.example.spi; import org.apache.log4j.Level; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.TriggeringEventEvaluator; public class MyEvaluator implements TriggeringEventEvaluator { public boolean isTriggeringEvent( LoggingEvent event ) { return event.getLevel().isGreaterOrEqual( Level.WARN ); } } |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jul 2009
Messaggi: 1161
|
Quote:
in log4j è possibile dire che determinate alberature di package vengano loggate con un livello di errore ben specificato su determinati appender.. secondo me il fatto che l'smtpappender non ti logga i warn dipende da un problema di come l'hai configurato.. http://en.wikipedia.org/wiki/Log4j
__________________
Web2.0 Guides And Tutorials SLR: Canon 6D ZOOM: Canon EF 24-105mm f/4L IS USM FISSI: - Canon EF 28mm f/1.8 USM - Canon EF 40mm f/2.8 STM - Canon EF 50mm f/1.4 USM - Canon EF 100mm f/2 USM - Canon EF 200mm f/2.8L USM II ALTRO: Canon 430 EX II |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:01.




















