--- src/main/cpp/smtpappender.cpp 2008/07/28 16:09:10
+++ src/main/cpp/smtpappender.cpp 2008/07/28 16:12:43
@@ -576,10 +576,38 @@
DefaultEvaluator& operator=(const DefaultEvaluator&);
}; // class DefaultEvaluator
+ class LOG4CXX_EXPORT SendAllEvaluator :
+ public virtual spi::TriggeringEventEvaluator,
+ public virtual helpers::ObjectImpl
+ {
+ public:
+ DECLARE_LOG4CXX_OBJECT(SendAllEvaluator)
+ BEGIN_LOG4CXX_CAST_MAP()
+ LOG4CXX_CAST_ENTRY(SendAllEvaluator)
+ LOG4CXX_CAST_ENTRY(spi::TriggeringEventEvaluator)
+ END_LOG4CXX_CAST_MAP()
+
+ SendAllEvaluator();
+
+ /**
+ Is this event the e-mail triggering event?
+
This method returns always true. This
+ evaluator may be used to send all log messages written
+ to specific logger.
+ */
+ virtual bool isTriggeringEvent(const spi::LoggingEventPtr& event);
+ private:
+ SendAllEvaluator(const SendAllEvaluator&);
+ SendAllEvaluator& operator=(const SendAllEvaluator&);
+ }; // class SendAllEvaluator
+
+
+
}
}
IMPLEMENT_LOG4CXX_OBJECT(DefaultEvaluator)
+IMPLEMENT_LOG4CXX_OBJECT(SendAllEvaluator)
IMPLEMENT_LOG4CXX_OBJECT(SMTPAppender)
DefaultEvaluator::DefaultEvaluator() {
@@ -590,6 +618,14 @@
return event->getLevel()->isGreaterOrEqual(Level::getError());
}
+SendAllEvaluator::SendAllEvaluator() {
+}
+
+bool SendAllEvaluator::isTriggeringEvent(const spi::LoggingEventPtr& event)
+{
+ return true;
+}
+
SMTPAppender::SMTPAppender()
: smtpPort(25), bufferSize(512), locationInfo(false), cb(bufferSize),
evaluator(new DefaultEvaluator())