X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/8c6fa3fbaccc22127280bf77a48fab5a3ee0716e..46b0747592074017ff0ea4b33d4a7194235886e5:/stglibs/logger.lib/logger.cpp diff --git a/stglibs/logger.lib/logger.cpp b/stglibs/logger.lib/logger.cpp deleted file mode 100644 index 20aa133a..00000000 --- a/stglibs/logger.lib/logger.cpp +++ /dev/null @@ -1,127 +0,0 @@ -#include "stg/logger.h" - -#include -#include -#include - -#ifdef STG_TIME -extern const volatile time_t stgTime; -#endif -//----------------------------------------------------------------------------- -STG_LOGGER & GetStgLogger() -{ -static STG_LOGGER logger; -return logger; -} -//----------------------------------------------------------------------------- -STG_LOGGER::STG_LOGGER() - : fileName(), - mutex() -{ -pthread_mutex_init(&mutex, NULL); -} -//----------------------------------------------------------------------------- -STG_LOGGER::~STG_LOGGER() -{ -pthread_mutex_destroy(&mutex); -} -//----------------------------------------------------------------------------- -void STG_LOGGER::SetLogFileName(const std::string & fn) -{ -STG_LOGGER_LOCKER lock(&mutex); -fileName = fn; -} -//----------------------------------------------------------------------------- -void STG_LOGGER::operator()(const char * fmt, ...) const -{ -STG_LOGGER_LOCKER lock(&mutex); - -char buff[2048]; - -va_list vl; -va_start(vl, fmt); -vsnprintf(buff, sizeof(buff), fmt, vl); -va_end(vl); - -LogString(buff); -} -//----------------------------------------------------------------------------- -const char * STG_LOGGER::LogDate(time_t t) const -{ -static char s[32]; -if (t == 0) - t = time(NULL); - -struct tm * tt = localtime(&t); - -snprintf(s, 32, "%d-%s%d-%s%d %s%d:%s%d:%s%d", - tt->tm_year + 1900, - tt->tm_mon + 1 < 10 ? "0" : "", tt->tm_mon + 1, - tt->tm_mday < 10 ? "0" : "", tt->tm_mday, - tt->tm_hour < 10 ? "0" : "", tt->tm_hour, - tt->tm_min < 10 ? "0" : "", tt->tm_min, - tt->tm_sec < 10 ? "0" : "", tt->tm_sec); - -return s; -} -//----------------------------------------------------------------------------- -void STG_LOGGER::LogString(const char * str) const -{ -if (!fileName.empty()) - { - FILE * f = fopen(fileName.c_str(), "at"); - if (f) - { - #ifdef STG_TIME - fprintf(f, "%s", LogDate(stgTime)); - #else - fprintf(f, "%s", LogDate(time(NULL))); - #endif - fprintf(f, " -- "); - fprintf(f, "%s", str); - fprintf(f, "\n"); - fclose(f); - } - else - { - openlog("stg", LOG_NDELAY, LOG_USER); - syslog(LOG_CRIT, "%s", str); - closelog(); - } - } -else - { - openlog("stg", LOG_NDELAY, LOG_USER); - syslog(LOG_CRIT, "%s", str); - closelog(); - } -} -//----------------------------------------------------------------------------- -PLUGIN_LOGGER::PLUGIN_LOGGER(const STG_LOGGER& logger, const std::string& pn) - : m_parent(logger), - m_pluginName(pn) -{ -} -//----------------------------------------------------------------------------- -void PLUGIN_LOGGER::operator()(const char * fmt, ...) const -{ -char buff[2029]; - -va_list vl; -va_start(vl, fmt); -vsnprintf(buff, sizeof(buff), fmt, vl); -va_end(vl); - -m_parent("[%s] %s", m_pluginName.c_str(), buff); -} -//----------------------------------------------------------------------------- -void PLUGIN_LOGGER::operator()(const std::string & line) const -{ -m_parent("[%s] %s", m_pluginName.c_str(), line.c_str()); -} -//----------------------------------------------------------------------------- -PLUGIN_LOGGER GetPluginLogger(const STG_LOGGER & logger, const std::string & pluginName) -{ -return PLUGIN_LOGGER(logger, pluginName); -} -//-----------------------------------------------------------------------------