當年只會C# 因此寫C++就成這樣了! log4cplus -> log4net

屬實C++不會。 目前幫朋友弄個小項目須要小折騰一下。c++

c# 一直採用 log4net ,c++的呢,找找有個log4cplus  知識有限,作個通用類吧。別把精力放在這裏。c#

動手建立個靜態類。 爲了保持一致性,因爲好幾年前還有一些BCL的動態庫。 因此命名規則還採用原來的風格。app

BCLLogHelper 靜態類。在寫項目添加靜態類。直接調用就能夠 (*_*) spa

頭文件:code

 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 };

下面爲類庫blog

 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++又撿起來了。 瞭解的深度不夠。 只是能寫項目。ip

學好一門語言你會發現全部的開發語言都是同樣的。開發

目前發現C#、C++、Vb、Java、ActionScript 貌似都能寫項目,僅僅是寫項目級別。深度的原來了解的還不夠。get

本文僅做爲開發思路。不提倡。仍是要專精一門開發語言的好!it

相關文章
相關標籤/搜索