屬實C++不會。 目前幫朋友弄個小項目需要小折騰一下。 c# 一直採用 log4net ,c++的呢,找找有個log4cplus 知識有限,做個通用類吧。別把精力放在這裡。 動手創建個靜態類。 為了保持一致性,由於好幾年前還有一些BCL的動態庫。 所以命名規則還採用原來的風格。 BCLLogHelp ...
屬實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 貌似都能寫項目,僅僅是寫項目級別。深度的原來瞭解的還不夠。
本文僅作為開發思路。不提倡。還是要專精一門開發語言的好!