log4shib 2.0.0

Filter.hh
Go to the documentation of this file.
1/*
2 * Filter.hh
3 *
4 * Copyright 2001, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
5 * Copyright 2001, Bastiaan Bakker. All rights reserved.
6 *
7 * See the COPYING file for the terms of usage and distribution.
8 */
9
10#ifndef _LOG4SHIB_FILTER_HH
11#define _LOG4SHIB_FILTER_HH
12
13#include <log4shib/Portability.hh>
14#include <log4shib/LoggingEvent.hh>
15
16 namespace log4shib {
17
49 class LOG4SHIB_EXPORT Filter {
50 public:
51
52 typedef enum { DENY = -1,
53 NEUTRAL = 0,
54 ACCEPT = 1
55 } Decision;
56
60 Filter();
61
65 virtual ~Filter();
66
71 virtual void setChainedFilter(Filter* filter);
72
78 virtual Filter* getChainedFilter();
79
84 virtual Filter* getEndOfChain();
85
91 virtual void appendChainedFilter(Filter* filter);
92
100 virtual Decision decide(const LoggingEvent& event);
101
102 protected:
110 virtual Decision _decide(const LoggingEvent& event) = 0;
111
112 private:
113 Filter* _chainedFilter;
114
115 };
116
117}
118
119#endif // _LOG4SHIB_FILTER_HH
LOG4SHIB_EXPORT
#define LOG4SHIB_EXPORT
Definition: Export.hh:11
LoggingEvent.hh
Portability.hh
log4shib::Filter
Users should extend this class to implement customized logging event filtering.
Definition: Filter.hh:49
log4shib::Filter::Decision
Decision
Definition: Filter.hh:52
log4shib::Filter::_decide
virtual Decision _decide(const LoggingEvent &event)=0
Decide whether this Filter accepts or denies the given LoggingEvent.
log4shib
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16
log4shib::Filter
class LOG4SHIB_EXPORT Filter
Definition: Appender.hh:27
log4shib::LoggingEvent
The internal representation of logging events.
Definition: LoggingEvent.hh:32