blob: d0cbdab819fb06d355d336349d2ddc7496c7810b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/*
* Logger.h
*
* Created on: 17 Sep 2017
* Author: David
*/
#ifndef SRC_LOGGER_H_
#define SRC_LOGGER_H_
#include <ctime>
#include "Storage/FileData.h"
class OutputBuffer;
class Logger
{
public:
Logger();
void Start(time_t time, const StringRef& file);
void Stop(time_t time);
void LogMessage(time_t time, const char *message);
void LogMessage(time_t time, OutputBuffer *buf);
void Flush(bool forced);
bool IsActive() const { return logFile.IsLive(); }
private:
bool WriteDateTime(time_t time);
void InternalLogMessage(time_t time, const char *message);
FileData logFile;
uint32_t lastFlushTime;
FilePosition lastFlushFileSize;
bool dirty;
bool inLogger;
};
#endif /* SRC_LOGGER_H_ */
|