From 3680049029e6a193eae069596be04ce0fb2b1303 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 05 十一月 2022 17:19:55 +0800 Subject: [PATCH] '增加l2稳定性' --- ConsoleApplication/LogUtil.cpp | 78 ++++++++++++++++++++++++--------------- 1 files changed, 48 insertions(+), 30 deletions(-) diff --git a/ConsoleApplication/LogUtil.cpp b/ConsoleApplication/LogUtil.cpp index 1cfda33..97dabb8 100644 --- a/ConsoleApplication/LogUtil.cpp +++ b/ConsoleApplication/LogUtil.cpp @@ -1,36 +1,54 @@ #include "LogUtil.h" #include <string> +#include <time.h> - void LogUtil::info(std::string format, ...) { - return; - va_list args; - va_start(args, format); +LogUtil* LogUtil::instance; - SYSTEMTIME sys; - GetLocalTime(&sys); - std::string formatFull = "%4d/%02d/%02d %02d:%02d:%02d.%03d INFO "; - formatFull.append(format); - formatFull.append("\n"); - printf(formatFull.c_str(), sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds, args); +LogUtil::LogUtil() +{ + time_t t = time(0); + char tmp[64]; + strftime(tmp, sizeof(tmp), "%Y_%m_%d", localtime(&t)); + + log4cpp::PatternLayout* pLayout = new log4cpp::PatternLayout(); + pLayout->setConversionPattern("%d: %p %c %x: %m%n"); + // L2 对象 + string path = string("C:/Program Files (x86)/yeshi/GP/logs/l2_").append(string(tmp)).append(".log"); + log4cpp::Appender* appender = new log4cpp::FileAppender("FileAppender", path); + // 3. 把layout对象附着在appender对象上 + appender->setLayout(pLayout); + log4cpp::Category& l2_log = log4cpp::Category::getInstance("l2"); + // 5. 设置additivity为false,替换已有的appender + l2_log.setAdditivity(false); + // 5. 把appender对象附到category上 + l2_log.setAppender(appender); + // 6. 设置category的优先级,低于此优先级的日志不被记录 + l2_log.setPriority(log4cpp::Priority::INFO); } - void LogUtil::debug(const char* format, ...) { - return; - va_list args; - va_start(args, format); - SYSTEMTIME sys; - GetLocalTime(&sys); - std::string formatFull = "%4d/%02d/%02d %02d:%02d:%02d.%03d BEBUG "; - formatFull.append(format); - formatFull.append("\n"); - printf(formatFull.c_str(), sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds, args); + +LogUtil* LogUtil::getInstance() +{ + if (instance == nullptr) { + instance = new LogUtil(); + } + return instance; } - void LogUtil::error(const char* format, ...) { - va_list args; - va_start(args, format); - SYSTEMTIME sys; - GetLocalTime(&sys); - std::string formatFull = "%4d/%02d/%02d %02d:%02d:%02d.%03d ERROR "; - formatFull.append(format); - formatFull.append("\n"); - printf(formatFull.c_str(), sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds, args); -} \ No newline at end of file + +log4cpp::Category& LogUtil::getL2Logger() +{ + return log4cpp::Category::getInstance("l2"); +} + +void LogUtil::debug(const char* format, ...) { + return; + va_list args; + va_start(args, format); + SYSTEMTIME sys; + GetLocalTime(&sys); + std::string formatFull = "%4d/%02d/%02d %02d:%02d:%02d.%03d BEBUG "; + formatFull.append(format); + formatFull.append("\n"); + printf(formatFull.c_str(), sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds, args); +} + + -- Gitblit v1.8.0