00001 /****************************************************************************** 00002 * 00003 * package: Log4Qt 00004 * file: nullappender.h 00005 * created: September 2007 00006 * author: Martin Heinrich 00007 * 00008 * 00009 * Copyright 2007 Martin Heinrich 00010 * 00011 * Licensed under the Apache License, Version 2.0 (the "License"); 00012 * you may not use this file except in compliance with the License. 00013 * You may obtain a copy of the License at 00014 * 00015 * http://www.apache.org/licenses/LICENSE-2.0 00016 * 00017 * Unless required by applicable law or agreed to in writing, software 00018 * distributed under the License is distributed on an "AS IS" BASIS, 00019 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00020 * See the License for the specific language governing permissions and 00021 * limitations under the License. 00022 * 00023 ******************************************************************************/ 00024 00025 #ifndef LOG4QT_NULLAPPENDER_H 00026 #define LOG4QT_NULLAPPENDER_H 00027 00028 00029 /****************************************************************************** 00030 * Dependencies 00031 ******************************************************************************/ 00032 00033 #include "log4qt/appenderskeleton.h" 00034 00035 00036 /****************************************************************************** 00037 * Declarations 00038 ******************************************************************************/ 00039 00040 namespace Log4Qt 00041 { 00042 00051 class NullAppender : public AppenderSkeleton 00052 { 00053 Q_OBJECT 00054 00055 public: 00056 NullAppender(QObject *pParent = 0); 00057 virtual ~NullAppender(); 00058 private: 00059 NullAppender(const NullAppender &rOther); // Not implemented 00060 NullAppender &operator=(const NullAppender &rOther); // Not implemented 00061 00062 public: 00063 virtual bool requiresLayout() const; 00064 00065 protected: 00066 virtual void append(const LoggingEvent &rEvent); 00067 00068 #ifndef QT_NO_DEBUG_STREAM 00069 00078 virtual QDebug debug(QDebug &rDebug) const; 00079 #endif // QT_NO_DEBUG_STREAM 00080 }; 00081 00082 00083 /****************************************************************************** 00084 * Operators, Helper 00085 ******************************************************************************/ 00086 00087 00088 /****************************************************************************** 00089 * Inline 00090 ******************************************************************************/ 00091 00092 inline bool NullAppender::requiresLayout() const 00093 { return false; } 00094 00095 00096 } // namespace Log4Qt 00097 00098 00099 // Q_DECLARE_TYPEINFO(Log4Qt::NullAppender, Q_COMPLEX_TYPE); // Use default 00100 00101 00102 #endif // LOG4QT_NULLAPPENDER_H