urbackup_backend/urbackupserver/server_log.h
Martin 6bab1f8d5d 1. New feature: Live log on server interface
2. New feature: Check for new version on status screen
2013-09-22 21:18:52 +02:00

43 lines
1.1 KiB
C++

#include "../Interface/Server.h"
#include "../Interface/Mutex.h"
struct SLogEntry
{
std::string data;
int loglevel;
unsigned int time;
};
struct SCircularData
{
std::vector<SCircularLogEntry> data;
size_t idx;
size_t id;
};
class ServerLogger
{
public:
static void Log(int clientid, const std::string &pStr, int LogLevel=LL_INFO);
static void Log(int clientid, const std::wstring &pStr, int LogLevel=LL_INFO);
static void init_mutex(void);
static void destroy_mutex(void);
static std::wstring getLogdata(int clientid, int &errors, int &warnings, int &infos);
static std::string getWarningLevelTextLogdata(int clientid);
static void reset(int clientid);
static const std::vector<SCircularLogEntry>& getCircularLogdata(int clientid);
private:
static void logCircular(int clientid, const std::string &pStr, int LogLevel);
static void logMemory(int clientid, const std::string &pStr, int LogLevel);
static std::map<int, std::vector<SLogEntry> > logdata;
static std::map<int, SCircularData> circular_logdata;
static IMutex *mutex;
};