I'm using log4j. The log to the console and the file writer work, but the mailer doesn't.
Here is the log4j.xml I'm using. I have mail.jar in my buildpath.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p - (%F:%L) - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
</filter>
</appender>
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="logs/log4j.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p - (%F:%L) - %m%n" />
</layout>
</appender>
<appender name="mailAppender" class="org.apache.log4j.net.SMTPAppender">
<param name="From" value="mail@gmail.com" />
<param name="To" value="mail@gmail.com" />
<param name="Subject" value="Register WARNING" />
<param name="SMTPHost" value="smtp.gmail.com" />
<param name="BufferSize" value="1" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="=[%d{HH:mm:ss.SSS}] %n server: %X{hostname} %n ip: (%X{ip}) %n %n %m" />
</layout>
<param name="Threshold" value="WARN" />
</appender>
<root>
<priority value="ALL" />
<appender-ref ref="console" />
<appender-ref ref="fileAppender" />
<appender-ref ref="mailAppender" />
</root>
</log4j:configuration>
I get the following error:
log4j:WARN Continuable parsing error 34 and column 13
log4j:WARN The content of element type "appender" must match "(errorHandler?,param*,rollingPolicy?,triggeringPolicy?,connectionSource?,layout?,filter*,appender-ref*)".
log4j:WARN Error during default initialization
java.lang.NoClassDefFoundError: javax/activation/DataSource
at org.apache.log4j.net.SMTPAppender.activateOptions(SMTPAppender.java:122)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:257)
at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:285)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:171)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:184)
at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:502)
at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:471)
at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:921)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:790)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:696)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:471)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:125)
at org.apache.log4j.Logger.getLogger(Logger.java:105)
at logger.Logger.<clinit>(Logger.java:6)
at main.HibernateMain.main(HibernateMain.java:18)
WARN - (Configurator.java:126) - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/PATH/ehcache-1.1.jar!/ehcache-failsafe.xml
Can anyone help me with this?