summaryrefslogtreecommitdiff
path: root/ext/Log4Qt/src/helpers/logerror.h
diff options
context:
space:
mode:
authorTomasz Sterna <tomek@xiaoka.com>2014-07-14 17:19:45 +0200
committerTomasz Sterna <tomek@xiaoka.com>2014-07-16 00:07:28 +0200
commit3c19406ee292e0ed7993bd4d3976cc34d40e2f22 (patch)
tree67d185e95d647e56c074f4b3a30ac4f0d81e2ee6 /ext/Log4Qt/src/helpers/logerror.h
parent630cc2e3097f2236a4c1191be6c955ec523d6f1a (diff)
Replaced ext/Log4Qt source with submodule
Diffstat (limited to 'ext/Log4Qt/src/helpers/logerror.h')
-rwxr-xr-xext/Log4Qt/src/helpers/logerror.h550
1 files changed, 0 insertions, 550 deletions
diff --git a/ext/Log4Qt/src/helpers/logerror.h b/ext/Log4Qt/src/helpers/logerror.h
deleted file mode 100755
index 4ea7cfe..0000000
--- a/ext/Log4Qt/src/helpers/logerror.h
+++ /dev/null
@@ -1,550 +0,0 @@
-/******************************************************************************
- *
- * package: Log4Qt
- * file: logerror.h
- * created: September 2007
- * author: Martin Heinrich
- *
- *
- * Copyright 2007 Martin Heinrich
- *
- * Licensed 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 LOG4QT_LOGERROR_H
-#define LOG4QT_LOGERROR_H
-
-#include "../log4qtshared.h"
-/******************************************************************************
- * Dependencies
- ******************************************************************************/
-
-#include <QtCore/QString>
-#include <QtCore/QVariant>
-
-
-/******************************************************************************
- * Declarations
- ******************************************************************************/
-
-namespace Log4Qt
-{
- /*!
- * Creates an LogError object with the error message \a message, the error
- * code \a code and the context \a context. The symbol of the error is
- * set to \a code as string value.
- *
- * The following example logs an error, if a character is not a digit.
- *
- * \code
- * if (!c.isDigit())
- * {
- * Error e = LOG4QT_ERROR(QT_TR_NOOP("Found character '%1' where digit was expected."),
- * LAYOUT_EXPECTED_DIGIT_ERROR,
- * "Log4Qt::PatternFormatter");
- * e << QString(c);
- * logger()->error(e);
- * }
- * \endcode
- */
- #define LOG4QT_ERROR(message, code, context) \
- LogError(message, code, #code, context)
-
- /*!
- * Creates an LogError object with the error message \a message and the
- * error code \a code. The symbol of the error is set to \a code as string
- * value. The context is set to the class name of the current object. The
- * current objects class must be derived from QObject.
- *
- * The following example handles an error while opening a file.
- *
- * \code
- * if (!mpFile->open(mode))
- * {
- * LogError e = LOG4QT_QCLASS_ERROR(QT_TR_NOOP("Unable to open file '%1' for appender '%2'"),
- * APPENDER_OPENING_FILE_ERROR);
- * e << mFileName << name();
- * e.addCausingError(LogError(mpFile->errorString(), mpFile->error()));
- * logger()->error(e);
- * return;
- * }
- * \endcode
- */
- #define LOG4QT_QCLASS_ERROR(message, code) \
- LogError(message, code, #code, this->metaObject()->className())
-
- /*!
- * \brief The class LogError represents an error.
- *
- * The class error allows storing error information in a structured way.
- * The error message is stored separately from the information that may be
- * substituted into the message string. This way it is possible to access
- * all information after the error has been raised. It also allows to
- * translate the error at a later point in time or to get a translated and
- * a not translated error text (e.g. translated for the UI and not
- * translated for a log).
- *
- * The message is accessed using message() and setMessage(). Arguments for
- * the message can be added using addArg() or operator<<(). The arguments
- * can be retrieved using args(). The message with substituted arguments
- * is returned by messageWithArgs().
- *
- * An error code can be set as integer value code() and/or a symbolic value
- * symbol().
- *
- * To allow the translation of the message the error stores the translation
- * context (context(), setContext()). The translated message can be accessed
- * using translatedMessage() or using translatedMessageWithArgs(), if it
- * should contain the arguments.
- *
- * An error can have one or more related errors that caused it. An error is
- * related using addCausingError(). All causing errors can be retrieved using
- * causingErrors().
- *
- * A per thread error can be maintained using lastError() and setLastError().
- *
- * There are two macros avaiable to simplify the error creation. The macro
- * \ref Log4Qt::LOG4QT_ERROR "LOG4QT_ERROR" is used with classes not derived
- * from QObject. The macro \ref Log4Qt::LOG4QT_QCLASS_ERROR "LOG4QT_QCLASS_ERROR"
- * is used with classes derived from QObject.
- */
- class LOG4QT_EXPORT LogError
- {
- public:
-
- /*!
- * The enum Encoding defines the 8-bit encoding of a character string
- * arguments to \ref LogError::LogError(const char *, int, const char *,
- * const char *, Encoding) "LogError::LogError()".
- *
- * \sa \ref LogError::LogError(const char *, int, const char *, const char *, Encoding) "LogError::LogError()"
- */
- enum Encoding
- {
- /*! LATIN-1 */
- LATIN1,
- /*!
- * The encoding specified by QTextCodec::codecForTr()
- * (Latin-1 if none has been set).
- */
- CODECFORTR,
- /*! UTF-8 */
- UNICODEUTF8
- };
- //Q_ENUMS(Encoding)
-
- /*!
- * Creates an empty error. The error code is set to 0 and all other
- * members are set to be empty.
- *
- * \sa isEmpty()
- */
- LogError();
-
- /*!
- * Creates an error with the Message \a rMessage and the error code
- * \a code. The symbol for the error code is set to \a rSymbol and the
- * context to \a rContext.
- *
- * \a rContext must be string that can be converted to Latin-1. The
- * Latin-1 representation of the string is used with
- * QApplication::translate(), if a translation for \a rMessage is
- * requested.
- *
- * \sa translatedMessage(), translatedMessageWithArgs()
- */
- LogError(const QString &rMessage,
- int code = 0,
- const QString &rSymbol = QString(),
- const QString &rContext = QString());
-
- /*!
- * Creates an error with the Message \a pMessage and the error code
- * \a code. The symbol for the error code is set to \a pSymbol and the
- * context to \a pContext.
- *
- * \a encoding specifies the encoding of \a pMessage. \a pSymbol and
- * \a pContext are expected to be Latin-1.
- *
- * \note To support the macros \ref Log4Qt::LOG4QT_ERROR "LOG4QT_ERROR"
- * and \ref Log4Qt::LOG4QT_QCLASS_ERROR "LOG4QT_QCLASS_ERROR"
- * the function tests, if \a pSymbol is the string representation of
- * \a code. If it is, the symbol is set to be empty. Otherwise symbol
- * is set to \a pSymbol.
- *
- * \sa translatedMessage(), translatedMessageWithArgs()
- */
- LogError(const char *pMessage,
- int code = 0,
- const char *pSymbol = 0,
- const char *pContext = 0,
- Encoding encoding = LATIN1);
-
- // LogError(const LogError &rOther); // Use compiler default
- // virtual ~LogError(); // Use compiler default
- // LogError &operator=(const LogError &rOther); // Use compiler default
-
- /*!
- * Returns the error code.
- *
- * \sa setCode()
- */
- int code() const;
-
- /*!
- * Returns the context for the error.
- *
- * \sa setContext()
- */
- QString context() const;
-
- /*!
- * Returns the error message.
- *
- * \sa setMessage()
- */
- QString message() const;
-
- /*!
- * Returns the symbol for the error code.
- *
- * \sa setSymbol()
- */
- QString symbol() const;
-
- /*!
- * Returns the translated error message.
- *
- * The translated message is created by calling
- * QCoreApplication::translate() using context().toLatin1() as
- * context and message.toUtf8() as message.
- *
- * \sa translatedMessageWithArgs()
- */
- QString translatedMessage() const;
-
- /*!
- * Sets the error code to \a code.
- *
- * \sa code()
- */
- void setCode(int code);
-
- /*!
- * Sets the context to \a rClassName.
- *
- * \a rContext must be string that can be converted to Latin-1. The
- * Latin-1 representation of the string is used with
- * QApplication::translate(), if a translation for \a rMessage is
- * requestd.
- *
- * \sa context(), translatedMessage(), translatedMessageWithArgs()
- */
- void setContext(const QString &rClassName);
-
- /*!
- * Sets the error message to \a rMessage
- *
- * \sa message()
- */
- void setMessage(const QString &rMessage);
-
- /*!
- * Sets the symbol for the error code to \a rSymbol.
- *
- * \sa symbol()
- */
- void setSymbol(const QString &rSymbol);
-
- /*!
- * Returns the last error set for the current thread using
- * setLastError().
- *
- * \note: This function is thread-safe.
- *
- * \sa setLastError()
- */
- static LogError lastError();
-
- /*!
- * Sets the last error for the current thread to \a rLogError.
- *
- * \note: This function is thread-safe.
- *
- * \sa lastError()
- */
- static void setLastError(const LogError &rLogError);
-
- /*!
- * Appends \a rArg to the list of arguments and returns a reference to
- * this error.
- *
- * \sa operator<<(), args(), clearArgs()
- */
- LogError &addArg(const QVariant &rArg);
-
- /*!
- * This is an overloaded member function, provided for convenience.
- */
- LogError &addArg(int arg);
-
- /*!
- * This is an overloaded member function, provided for convenience.
- */
- LogError &addArg(const QString &rArg);
-
- /*!
- * Appends \a rLogError to the list of causing errors and returns a
- * reference to this error.
- *
- * \sa causingErrors(), clearCausingErrors()
- */
- LogError &addCausingError(const LogError &rLogError);
-
- /*!
- * Returns the list of arguments that have been added to this error.
- *
- * \sa addArg(), operator<<(), clearArgs()
- */
- QList<QVariant> args() const;
-
- /*!
- * Returns the list of causing errors that have been added to this error.
- *
- * \sa addArg(), operator<<(), clearArgs()
- */
- QList<LogError> causingErrors() const;
-
- /*!
- * Clears the list of arguments that have been added to this error.
- *
- * \sa addArg(), operator<<(), args()
- */
- void clearArgs();
-
- /*!
- * Clears the list of causing errors that have been added to this error.
- *
- * \sa addCausingError(), causingErrors()
- */
- void clearCausingErrors();
-
- /*!
- * Returns true, if the error code is 0 and the message is empty.
- * Otherwise it returns false.
- *
- * \sa code(), message()
- */
- bool isEmpty() const;
-
- /*!
- * Returns the message with arguments. The arguments are incoorporated
- * into the messag using QString::arg().
- *
- * \sa QString::arg(), translatedMessageWithArgs()
- */
- QString messageWithArgs() const;
-
- /*!
- * Returns the translated message with arguments. The arguments are
- * incoorporated into the messag using QString::arg().
- *
- * \sa QString::arg(), messageWithArgs(), translatedMessage()
- */
- QString translatedMessageWithArgs() const;
-
- /*!
- * Appends \a rArg to the list of arguments and returns a reference to
- * this error.
- *
- * \sa addArg()
- */
- LogError &operator<<(const QVariant &rArg);
-
- /*!
- * This is an overloaded member function, provided for convenience.
- */
- LogError &operator<<(int arg);
-
- /*!
- * This is an overloaded member function, provided for convenience.
- */
- LogError &operator<<(const QString &rArg);
-
- /*!
- * Returns a string representation of the error.
- *
- * The string has the following format:
- *
- * <tt>
- * message (context::symbol, code): causing_error, causing_error
- * </tt>
- *
- * If members are empty they are omitted:
- * - Omit context, if empty
- * - Omit symbol, if empty
- * - Omit double colon with context and symbol, if both are empty
- * - Omit code, if 0
- * - Omit bracket with context/symbol and code, if all are empty
- * - Omit colon with causing errors, if no causing errors exist
- */
- QString toString() const;
-
- private:
- QString insertArgs(const QString &rMessage) const;
- QString cleanMessage(const QString &rMessage);
-
- private:
- int mCode;
- QString mContext;
- QString mMessage;
- QString mSymbol;
- QList<QVariant> mArgs;
- QList<LogError> mCausingErrors;
-
-#ifndef QT_NO_DATASTREAM
- // Needs to be friend to stream objects
- friend QDataStream &operator<<(QDataStream &rStream,
- const LogError &rLogError);
- friend QDataStream &operator>>(QDataStream &rStream,
- LogError &rLogError);
-#endif // QT_NO_DATASTREAM
- };
-
-
- /**************************************************************************
- * Operators, Helper
- **************************************************************************/
-
-#ifndef QT_NO_DATASTREAM
- /*!
- * \relates LogError
- *
- * Writes the given error \a rLogError to the given stream \a rStream,
- * and returns a reference to the stream.
- */
- QDataStream &operator<<(QDataStream &rStream,
- const LogError &rLogError);
-
- /*!
- * \relates LogError
- *
- * Reads an error from the given stream \a rStream into the given
- * error \a rLogError, and returns a reference to the stream.
- */
- QDataStream &operator>>(QDataStream &rStream,
- LogError &rLogError);
-#endif // QT_NO_DATASTREAM
-
-#ifndef QT_NO_DEBUG_STREAM
- /*!
- * \relates LogError
- *
- * Writes all object member variables to the given debug stream \a debug and
- * returns the stream.
- *
- * <tt>
- * %LogError(code:7 context:"Log4Qt::FileAppender"
- * message:"Unable to open file '%1' for appender '%2'"
- * symbol:"APPENDER_OPENING_FILE_ERROR"
- * args:(QVariant(QString, "G:\logs\client.log") , QVariant(QString, "Client FileAppender") )
- * translatedMessage: "Unable to open file '%1' for appender '%2'" )
- * </tt>
- *
- * \sa QDebug
- */
- QDebug operator<<(QDebug debug,
- const LogError &rLogError);
-#endif // QT_NO_DEBUG_STREAM
-
-
- /**************************************************************************
- * Inline
- **************************************************************************/
-
- inline int LogError::code() const
- { return mCode; }
-
- inline QString LogError::context() const
- { return mContext; }
-
- inline QString LogError::message() const
- { return mMessage; }
-
- inline QString LogError::symbol() const
- { return mSymbol; }
-
- inline void LogError::setCode(int code)
- { mCode = code; }
-
- inline void LogError::setContext(const QString &rContext)
- { mContext = rContext; }
-
- inline void LogError::setMessage(const QString &rMessage)
- { mMessage = cleanMessage(rMessage); }
-
- inline void LogError::setSymbol(const QString &rSymbol)
- { mSymbol = rSymbol; }
-
- inline LogError &LogError::addArg(const QVariant &rArg)
- { mArgs << rArg; return *this; }
-
- inline LogError &LogError::addArg(int arg)
- { mArgs << QVariant(arg); return *this; }
-
- inline LogError &LogError::addArg(const QString &rArg)
- { mArgs << QVariant(rArg); return *this; }
-
- inline LogError &LogError::addCausingError(const LogError &rLogError)
- { mCausingErrors << rLogError; return *this; }
-
- inline QList<QVariant> LogError::args() const
- { return mArgs; }
-
- inline void LogError::clearArgs()
- { mArgs.clear(); }
-
- inline void LogError::clearCausingErrors()
- { mCausingErrors.clear(); }
-
- inline QList<LogError> LogError::causingErrors() const
- { return mCausingErrors; }
-
- inline bool LogError::isEmpty() const
- { return mCode || !mMessage.isEmpty(); }
-
- inline QString LogError::messageWithArgs() const
- { return insertArgs(message()); }
-
- inline QString LogError::translatedMessageWithArgs() const
- { return insertArgs(translatedMessage()); }
-
- inline LogError &LogError::operator<<(const QVariant &rArg)
- { return addArg(rArg); }
-
- inline LogError &LogError::operator<<(int arg)
- { return addArg(arg); }
-
- inline LogError &LogError::operator<<(const QString &rArg)
- { return addArg(rArg); }
-
-
-} // namespace Log4Qt
-
-
-Q_DECLARE_METATYPE(Log4Qt::LogError)
-Q_DECLARE_TYPEINFO(Log4Qt::LogError, Q_MOVABLE_TYPE);
-
-
-#endif // LOG4QT_ERROR_H