當年只會C# 所以寫C++就成這樣了! log4cplus -> log4net。本站提示廣大學習愛好者:(當年只會C# 所以寫C++就成這樣了! log4cplus -> log4net)文章只能為提供參考,不一定能成為您想要的結果。以下是當年只會C# 所以寫C++就成這樣了! log4cplus -> log4net正文
失實C++不會。 目前幫冤家弄個小項目需求小折騰一下。
c# 不斷采用 log4net ,c++的呢,找找有個log4cplus 知識無限,做個通用類吧。別把精神放在這裡。
入手創立個靜態類。 為了堅持分歧性,由於好幾年前還有一些BCL的靜態庫。 所以命名規則還采用原來的作風。
BCLLogHelper 靜態類。在寫項目添加靜態類。直接調用就可以 (*_*)
頭文件:
1 // BCLSerialPort.cpp: implementation of the BCLSerialPort class. 2 // 作者:Mark liuyunsheng 3 ////////////////////////////////////////////////////////////////////// 4 #pragma once 5 #include <vector> 6 #include <memory> 7 #include <log4cplus/logger.h> 8 #include <log4cplus/fileappender.h> 9 #include <log4cplus/layout.h> 10 #include <log4cplus/ndc.h> 11 #include <log4cplus/helpers/loglog.h> 12 #include <log4cplus/loggingmacros.h> 13 14 using namespace log4cplus; 15 16 using namespace std; 17 18 class BCLLogHelper 19 { 20 public: 21 static void Init(); 22 static void Info(char* msg); 23 static void Error(char* msg); 24 };
上面為類庫
1 // BCLSerialPort.cpp: implementation of the BCLSerialPort class. 2 // 作者:Mark liuyunsheng 3 ////////////////////////////////////////////////////////////////////// 4 #include "stdafx.h" 5 #include "BCLLogHelper.h" 6 7 #ifndef _DEBUG 8 #pragma comment(lib,"./log/log4cplus/lib/log4cplus.lib") 9 #else 10 #pragma comment(lib,"./log/log4cplus/lib/log4cplusSD.lib") 11 #endif 12 13 void BCLLogHelper::Init() 14 { 15 helpers::LogLog::getLogLog()->setInternalDebugging(true); 16 SharedAppenderPtr append(new RollingFileAppender(LOG4CPLUS_TEXT("syslog.log"), 3 * 1024 * 1024, 5)); 17 18 append->setName(LOG4CPLUS_TEXT("First")); 19 20 std::auto_ptr<Layout> _layout(new PatternLayout(_T("%D{%Y-%m-%d %H:%M:%S,%q} [%t] %-5p - %m%n"))); 21 append->setLayout(_layout); 22 Logger::getRoot().addAppender(append); 23 } 24 25 void BCLLogHelper::Info(char* msg) 26 { 27 LOG4CPLUS_INFO(Logger::getInstance(LOG4CPLUS_TEXT("System")), msg); 28 } 29 30 void BCLLogHelper::Error(char* msg) 31 { 32 LOG4CPLUS_ERROR(Logger::getInstance(LOG4CPLUS_TEXT("System")), msg); 33 }
突然發現C++又撿起來了。 理解的深度不夠。 只是能寫項目。
學好一門言語你會發現一切的開發言語都是一樣的。
目前發現C#、C++、Vb、Java、ActionScript 貌似都能寫項目,僅僅是寫項目級別。深度的原來理解的還不夠。
本文僅作為開發思緒。不倡導。還是要專精一門開發言語的好!