CuteLogger
Fast and simple logging solution for Qt based applications
AbstractStringAppender.h
1/*
2 Copyright (c) 2010 Boris Moiseev (cyberbobs at gmail dot com)
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License version 2.1
6 as published by the Free Software Foundation and appearing in the file
7 LICENSE.LGPL included in the packaging of this file.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
13*/
14#ifndef ABSTRACTSTRINGAPPENDER_H
15#define ABSTRACTSTRINGAPPENDER_H
16
17// Local
18#include "CuteLogger_global.h"
19#include <AbstractAppender.h>
20
21// Qt
22#include <QReadWriteLock>
23
24
25class CUTELOGGERSHARED_EXPORT AbstractStringAppender : public AbstractAppender
26{
27 public:
29
30 virtual QString format() const;
31 void setFormat(const QString&);
32
33 static QString stripFunctionName(const char*);
34
35 protected:
36 QString formattedString(const QDateTime& timeStamp, Logger::LogLevel logLevel, const char* file, int line,
37 const char* function, const QString& category, const QString& message) const;
38
39 private:
40 static QByteArray qCleanupFuncinfo(const char*);
41
42 QString m_format;
43 mutable QReadWriteLock m_formatLock;
44};
45
46#endif // ABSTRACTSTRINGAPPENDER_H
AbstractAppender()
Constructs a AbstractAppender object.
Definition AbstractAppender.cpp:50
AbstractStringAppender()
Constructs a new string appender object.
Definition AbstractStringAppender.cpp:51
static QString stripFunctionName(const char *)
Strips the long function signature (as added by Q_FUNC_INFO macro)
Definition AbstractStringAppender.cpp:129
virtual QString format() const
Returns the current log format string.
Definition AbstractStringAppender.cpp:63
void setFormat(const QString &)
Sets the logging format for writing strings to the log target with this appender.
Definition AbstractStringAppender.cpp:116
QString formattedString(const QDateTime &timeStamp, Logger::LogLevel logLevel, const char *file, int line, const char *function, const QString &category, const QString &message) const
Returns the string to record to the logging target, formatted according to the format().
Definition AbstractStringAppender.cpp:308
LogLevel
Describes the possible severity levels of the log records.
Definition Logger.h:101