mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
54 lines
1.6 KiB
C
54 lines
1.6 KiB
C
#ifndef FORM_EDITOR_COMMON__LOGGER_H
|
|
#define FORM_EDITOR_COMMON__LOGGER_H
|
|
|
|
#include "Utils.h"
|
|
|
|
#define LLOG(text) ToLog(text)
|
|
#define LLOGF(text) ToLog(text, __FILE__, __LINE__, __FUNCTION__)
|
|
#define LDUMP(text) ToLog(String(#text) + " = " + AsString(text))
|
|
#define LERROR(text) ToLog(String(t_("ERROR: ")) + text, __FILE__, __LINE__, __FUNCTION__)
|
|
#define LWARNING(text) ToLog(String(t_("WARNING: ")) + text, __FILE__, __LINE__, __FUNCTION__)
|
|
|
|
static StaticMutex __LogMutex;
|
|
static bool __Created = false;
|
|
inline bool CreateLogFile()
|
|
{
|
|
Mutex::Lock __(__LogMutex);
|
|
if (__Created) return true;
|
|
FileOut f;
|
|
if (!f.Open(ConfigFileEx(GetFileTitle(GetExeFilePath()) + "Log.txt")))
|
|
{
|
|
LOG(t_("ERROR: LOG-file \"FormEditorLog.txt\" not created!"));
|
|
return false;
|
|
}
|
|
f.PutLine(t_("LOG created."));
|
|
f.Close();
|
|
return __Created = true;
|
|
}
|
|
|
|
inline String ToLog(const char *text)
|
|
{
|
|
Mutex::Lock __(__LogMutex);
|
|
CreateLogFile();
|
|
FileAppend f;
|
|
if (!f.Open(ConfigFileEx(GetFileTitle(GetExeFilePath()) + "Log.txt")))
|
|
return String(text);
|
|
f.PutLine(FormatTime(GetSysTime(), "DD.MM.YYYY hh:mm:ss ") + text);
|
|
f.Close();
|
|
return String(text);
|
|
}
|
|
|
|
inline String ToLog(const char *text, const char* file, int line, const char* method)
|
|
{
|
|
Mutex::Lock __(__LogMutex);
|
|
CreateLogFile();
|
|
FileAppend f;
|
|
if (!f.Open(ConfigFileEx(GetFileTitle(GetExeFilePath()) + "Log.txt")))
|
|
return String(text);
|
|
f.PutLine(FormatTime(GetSysTime(), "DD.MM.YYYY hh:mm:ss ") + text
|
|
+ NFormat(t_(" (file \"%s\", line %d: \"%s\")"), file, line, method));
|
|
f.Close();
|
|
return String(text) + " (доп. информация в лог-файле)";
|
|
}
|
|
|
|
#endif
|