當年只會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 貌似都能寫項目,僅僅是寫項目級別。深度的原來理解的還不夠。
本文僅作為開發思緒。不倡導。還是要專精一門開發言語的好!