summaryrefslogtreecommitdiff
path: root/src/3rd_party/apache-log4cxx-0.10.0/src/main/include/log4cxx/filter/levelmatchfilter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rd_party/apache-log4cxx-0.10.0/src/main/include/log4cxx/filter/levelmatchfilter.h')
-rw-r--r--src/3rd_party/apache-log4cxx-0.10.0/src/main/include/log4cxx/filter/levelmatchfilter.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/src/3rd_party/apache-log4cxx-0.10.0/src/main/include/log4cxx/filter/levelmatchfilter.h b/src/3rd_party/apache-log4cxx-0.10.0/src/main/include/log4cxx/filter/levelmatchfilter.h
new file mode 100644
index 0000000000..f357f67121
--- /dev/null
+++ b/src/3rd_party/apache-log4cxx-0.10.0/src/main/include/log4cxx/filter/levelmatchfilter.h
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _LOG4CXX_FILTER_LEVEL_MATCH_FILTER_H
+#define _LOG4CXX_FILTER_LEVEL_MATCH_FILTER_H
+
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4231 4251 4275 4786 )
+#endif
+
+
+#include <log4cxx/spi/filter.h>
+#include <log4cxx/level.h>
+
+namespace log4cxx
+{
+ class Level;
+
+ namespace filter
+ {
+ /**
+ This is a very simple filter based on level matching.
+
+ <p>The filter admits two options <b>LevelToMatch</b> and
+ <b>AcceptOnMatch</b>. If there is an exact match between the value
+ of the <b>LevelToMatch</b> option and the level of the {@link
+ spi::LoggingEvent LoggingEvent}, then the #decide method returns {@link
+ spi::Filter#ACCEPT ACCEPT} in case the <b>AcceptOnMatch</b>
+ option value is set to <code>true</code>, if it is <code>false</code>
+ then {@link spi::Filter#DENY DENY} is returned. If there is no match,
+ {@link spi::Filter#NEUTRAL NEUTRAL} is returned.
+ */
+
+ class LOG4CXX_EXPORT LevelMatchFilter : public spi::Filter
+ {
+ private:
+ bool acceptOnMatch;
+ LevelPtr levelToMatch;
+
+ public:
+ typedef spi::Filter BASE_CLASS;
+ DECLARE_LOG4CXX_OBJECT(LevelMatchFilter)
+ BEGIN_LOG4CXX_CAST_MAP()
+ LOG4CXX_CAST_ENTRY(LevelMatchFilter)
+ LOG4CXX_CAST_ENTRY_CHAIN(BASE_CLASS)
+ END_LOG4CXX_CAST_MAP()
+
+ LevelMatchFilter();
+
+ /**
+ Set options
+ */
+ virtual void setOption(const LogString& option,
+ const LogString& value);
+
+ void setLevelToMatch(const LogString& levelToMatch);
+
+ LogString getLevelToMatch() const;
+
+ inline void setAcceptOnMatch(bool acceptOnMatch1)
+ { this->acceptOnMatch = acceptOnMatch1; }
+
+ inline bool getAcceptOnMatch() const
+ { return acceptOnMatch; }
+
+ /**
+ Return the decision of this filter.
+
+ Returns {@link spi::Filter#NEUTRAL NEUTRAL} if the
+ <b>LevelToMatch</b> option is not set or if there is not match.
+ Otherwise, if there is a match, then the returned decision is
+ {@link spi::Filter#ACCEPT ACCEPT} if the <b>AcceptOnMatch</b>
+ property is set to <code>true</code>. The returned decision is
+ {@link spi::Filter#DENY DENY} if the
+ <b>AcceptOnMatch</b> property is set to false.
+ */
+ FilterDecision decide(const spi::LoggingEventPtr& event) const;
+ }; // class LevelMatchFilter
+ LOG4CXX_PTR_DEF(LevelMatchFilter);
+ } // namespace filter
+} // namespace log4cxx
+
+#if defined(_MSC_VER)
+#pragma warning ( pop )
+#endif
+
+#endif // _LOG4CXX_FILTER_STRING_MATCH_FILTER_H