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 
26 class CUTELOGGERSHARED_EXPORT FileAppender : public AbstractStringAppender
27 {
28  public:
29  FileAppender(const QString& fileName = QString());
30  ~FileAppender();
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
Simple appender that writes the log records to the plain text file.
Definition: FileAppender.h:26
The AbstractStringAppender class provides a convinient base for appenders working with plain text for...
Definition: AbstractStringAppender.h:25
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.
LogLevel
Describes the possible severity levels of the log records.
Definition: Logger.h:99