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