CuteLogger
Fast and simple logging solution for Qt based applications
FileAppender.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 FILEAPPENDER_H
15#define FILEAPPENDER_H
16
17// Logger
18#include "CuteLogger_global.h"
19#include <AbstractStringAppender.h>
20
21// Qt
22#include <QFile>
23#include <QTextStream>
24
25
26class CUTELOGGERSHARED_EXPORT FileAppender : public AbstractStringAppender
27{
28 public:
29 FileAppender(const QString& fileName = QString());
31
32 QString fileName() const;
33 void setFileName(const QString&);
34
35 protected:
36 virtual void append(const QDateTime& timeStamp, Logger::LogLevel logLevel, const char* file, int line,
37 const char* function, const QString& category, const QString& message);
38 bool openFile();
39 void closeFile();
40
41 private:
42 QFile m_logFile;
43 QTextStream m_logStream;
44 mutable QMutex m_logFileMutex;
45};
46
47#endif // FILEAPPENDER_H
virtual void append(const QDateTime &timeStamp, Logger::LogLevel logLevel, const char *file, int line, const char *function, const QString &category, const QString &message)=0
Writes the log record to the logger instance.
The AbstractStringAppender class provides a convinient base for appenders working with plain text for...
Definition: AbstractStringAppender.h:26
Simple appender that writes the log records to the plain text file.
Definition: FileAppender.h:27
LogLevel
Describes the possible severity levels of the log records.
Definition: Logger.h:84