C++オープンソースログライブラリlog 4 cplus
転載は文章に出典を明記してください.http://blog.csdn.net/jmppok/article/details/17357073
1.ログの重要性
コンピュータ技術の進歩と発展に伴い、コンピューティングの重心はクライアントからサービス側に移行し始め、サービス向け、並列コンピューティング、クラウドコンピューティングなどの応用モデルが現れ、バックグラウンドサービス側はますます仕事を引き受け始め、運行するアプリケーションもますます複雑になっている.バックグラウンド・サービス・エンド・アプリケーションとしては、問題が発生した場合に追跡と位置決めを向上させるために、何らかの方法で稼働状況を監視する必要があります.これには、強力なログシステムが必要です.ログ・システムは、現在のサービス・エンド・アプリケーションにおいて不可欠な重要なモジュールとなっていると言える.
2.有名なLog 4 j
ログシステムといえば、有名なLog 4 j、特にJavaを使っている人たちは、誰も知らない人はいないと言えます.Log 4 jはその簡単な使い方(1つのjarパッケージを導入して、1行のコードで呼び出すことができる)、柔軟(プロファイルを通じて自由に構成できる)、機能が強く(複数のレベル、複数の出力先を構成できる、Console、File、システムログ、遠隔のLogServerなど、ログフォーマットをカスタマイズできる、自動的に生成する、ログファイルを削除する)などの特性で、Javaログシステムの第一選択です.
3.Log 4 jのC++バージョンLog 4 cplus
上で述べたように、ログは今のシステムでは欠かせません.Javaには強力なLog 4 jが使用できますが、最も重要な言語の一つとなっているC++としてはどんな選択肢がありますか.
幸いなことに、いくつかの牛はずっと前からこの問題を発見して、彼らはLog 4 Jに倣って、C++言語を使って1セットのログシステムLog 4 cplusを開発して、Log 4 cplusの目的はとても明確で、C++版のLog 4 jを作ります.そして最も重要なのはLog 4 cplusがオープンソースであることです.
4.使用概要
1)ダウンロードhttp://sourceforge.net/projects/log4cplus/
2)Log 4 jはC++ライブラリであり,コンパイル後に利用できる.同時にlog 4 cplusはwindowsとlinuxをサポートします:
Windows下:ルートディレクトリの下のmsvc 10の下のvsプロジェクトを開き、コンパイルすればいいです.
Linuxの下:configure,make
3)使用
a)最も簡単な使い方
b)プログラマブル方式
4)構成
Log 4 cplusの構成は基本的にlog 4 Jと同じである.次に例を示します
1.ログの重要性
コンピュータ技術の進歩と発展に伴い、コンピューティングの重心はクライアントからサービス側に移行し始め、サービス向け、並列コンピューティング、クラウドコンピューティングなどの応用モデルが現れ、バックグラウンドサービス側はますます仕事を引き受け始め、運行するアプリケーションもますます複雑になっている.バックグラウンド・サービス・エンド・アプリケーションとしては、問題が発生した場合に追跡と位置決めを向上させるために、何らかの方法で稼働状況を監視する必要があります.これには、強力なログシステムが必要です.ログ・システムは、現在のサービス・エンド・アプリケーションにおいて不可欠な重要なモジュールとなっていると言える.
2.有名なLog 4 j
ログシステムといえば、有名なLog 4 j、特にJavaを使っている人たちは、誰も知らない人はいないと言えます.Log 4 jはその簡単な使い方(1つのjarパッケージを導入して、1行のコードで呼び出すことができる)、柔軟(プロファイルを通じて自由に構成できる)、機能が強く(複数のレベル、複数の出力先を構成できる、Console、File、システムログ、遠隔のLogServerなど、ログフォーマットをカスタマイズできる、自動的に生成する、ログファイルを削除する)などの特性で、Javaログシステムの第一選択です.
3.Log 4 jのC++バージョンLog 4 cplus
上で述べたように、ログは今のシステムでは欠かせません.Javaには強力なLog 4 jが使用できますが、最も重要な言語の一つとなっているC++としてはどんな選択肢がありますか.
幸いなことに、いくつかの牛はずっと前からこの問題を発見して、彼らはLog 4 Jに倣って、C++言語を使って1セットのログシステムLog 4 cplusを開発して、Log 4 cplusの目的はとても明確で、C++版のLog 4 jを作ります.そして最も重要なのはLog 4 cplusがオープンソースであることです.
4.使用概要
1)ダウンロードhttp://sourceforge.net/projects/log4cplus/
2)Log 4 jはC++ライブラリであり,コンパイル後に利用できる.同時にlog 4 cplusはwindowsとlinuxをサポートします:
Windows下:ルートディレクトリの下のmsvc 10の下のvsプロジェクトを開き、コンパイルすればいいです.
Linuxの下:configure,make
3)使用
a)最も簡単な使い方
#include <log4cplus/logger.h>
#include <log4cplus/configurator.h>
#include <iomanip>
using namespace log4cplus;
int
main()
{
BasicConfigurator config;
config.configure();
Logger logger = Logger::getInstance("main");
LOG4CPLUS_WARN(logger, "Hello, World!");
return ;
}
b)プログラマブル方式
/* 1-6,appender , LogLevel 。*/
#include <log4cplus logger.h=""></log4cplus>
#include <log4cplus consoleappender.h=""></log4cplus>
#include <log4cplus layout.h=""></log4cplus>
using namespace log4cplus;
using namespace log4cplus::helpers;
int main(){
/* step 1: Instantiate an appender object */
SharedObjectPtr _append (new ConsoleAppender());
_append->setName("append for test");
/* step 2: Instantiate a layout object */
std::string pattern = "%d{%m/%d/%y %H:%M:%S} - %m [%l]%n";
std::auto_ptr _layout(new PatternLayout(pattern));
/* step 3: Attach the layout object to the appender */
_append->setLayout( _layout );
/* step 4: Instantiate a logger object */
Logger _logger = Logger::getInstance("test");
/* step 5: Attach the appender object to the logger */
_logger.addAppender(_append);
/* step 6: Set a priority for the logger */
_logger.setLogLevel(ALL_LOG_LEVEL);
/* log activity */
LOG4CPLUS_DEBUG(_logger, "This is the FIRST log message...")
sleep(1);
LOG4CPLUS_WARN(_logger, "This is the SECOND log message...")
return 0;
}
4)構成
Log 4 cplusの構成は基本的にlog 4 Jと同じである.次に例を示します
log4cplus.rootLogger=DEBUG, STDOUT, ALL_MSGS
log4cplus.appender.STDOUT=log4cplus::ConsoleAppender
log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout
#log4cplus.appender.STDOUT.layout.ConversionPattern=%d{%m/%d/%y %H:%M:%S} [%t] %-5p %c{2} %%%x%% - %m [%l]%n
log4cplus.appender.STDOUT.layout.ConversionPattern=[%-5p %d{%y-%m-%d %H:%M:%S}] [%l]%n%m%n%n
#
log4cplus.appender.ALL_MSGS=log4cplus::RollingFileAppender
#
log4cplus.appender.ALL_MSGS.MaxFileSize=100MB
#
log4cplus.appender.ALL_MSGS.MaxBackupIndex=10
#
log4cplus.appender.ALL_MSGS.File=log/test.log
log4cplus.appender.ALL_MSGS.layout=log4cplus::PatternLayout
#
#log4cplus.appender.ALL_MSGS.layout.ConversionPattern=|%D:%d{%Q}|%p|%t|%l|%m|%n
log4cplus.appender.ALL_MSGS.layout.ConversionPattern=[%-5p %d{%y-%m-%d %H:%M:%S}] [%l]%n%m%n%n
# , debug
#log4cplus.appender.ALL_MSGS.filters.1=log4cplus::spi::LogLevelMatchFilter
#log4cplus.appender.DEBUG_MSGS.filters.1.LogLevelToMatch=DEBUG
#log4cplus.appender.DEBUG_MSGS.filters.1.AcceptOnMatch=true
#log4cplus.appender.DEBUG_MSGS.filters.2=log4cplus::spi::DenyAllFilter