Log 4 jのC++バージョンLog 4 cplus
ログシステムといえば、有名なLog 4 j、特にJavaを使っている人たちは、誰も知らない人はいないと言えます.Log 4 jはその簡単な使用方法(jarパッケージを導入し、1行のコードで呼び出すことができる)、柔軟(プロファイルを通じて自由に構成することができる)、機能が強い(複数レベル、複数の出力先を構成可能、Console、File、システムログ、リモートのLogServerなど、ログフォーマットのカスタマイズ、自動生成、ログファイルの削除など)などの特性は、Javaログシステムの第一選択です.
1.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がオープンソースであることです.
2.使用概要
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.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がオープンソースであることです.
2.使用概要
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)最も簡単な使い方
ソースの表示
印刷?
01
#include
02
#include
03
#include
04
05
using
namespace
log4cplus;
06
07
int
08
main()
09
{
10
BasicConfigurator config;
11
config.configure();
12
13
Logger logger = Logger::getInstance(
"main"
);
14
LOG4CPLUS_WARN(logger,
"Hello, World!"
);
15
return
;
16
}
b)オーダー可能な方式
ソースの表示
印刷?
01
/* 1-6,appender , LogLevel 。*/
02
#include
03
#include
04
#include
05
using
namespace
log4cplus;
06
using
namespace
log4cplus::helpers;
07
int
main(){
08
/* step 1: Instantiate an appender object */
09
SharedObjectPtr _append (
new
ConsoleAppender());
10
_append->setName(
"append for test"
);
11
/* step 2: Instantiate a layout object */
12
std::string pattern =
"%d{%m/%d/%y %H:%M:%S} - %m [%l]%n"
;
13
std::auto_ptr _layout(
new
PatternLayout(pattern));
14
/* step 3: Attach the layout object to the appender */
15
_append->setLayout( _layout );
16
/* step 4: Instantiate a logger object */
17
Logger _logger = Logger::getInstance(
"test"
);
18
/* step 5: Attach the appender object to the logger */
19
_logger.addAppender(_append);
20
/* step 6: Set a priority for the logger */
21
_logger.setLogLevel(ALL_LOG_LEVEL);
22
/* log activity */
23
LOG4CPLUS_DEBUG(_logger,
"This is the FIRST log message..."
)
24
sleep(1);
25
LOG4CPLUS_WARN(_logger,
"This is the SECOND log message..."
)
26
return
0;
27
}
4)構成
Log 4 cplusの構成は基本的にlog 4 Jと同じである.次に例を示します
ソースの表示
印刷?
01
log4cplus.rootLogger=DEBUG, STDOUT, ALL_MSGS
02
03
04
log4cplus.appender.STDOUT=log4cplus::ConsoleAppender
05
log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout
06
#log4cplus.appender.STDOUT.layout.ConversionPattern=%d{%m/%d/%y %H:%M:%S} [%t] %-5p %c{2} %%%x%% - %m [%l]%n
07
log4cplus.appender.STDOUT.layout.ConversionPattern=[%-5p %d{%y-%m-%d %H:%M:%S}] [%l]%n%m%n%n
08
09
10
#
11
log4cplus.appender.ALL_MSGS=log4cplus::RollingFileAppender
12
13
#
14
log4cplus.appender.ALL_MSGS.MaxFileSize=100MB
15
16
#
17
log4cplus.appender.ALL_MSGS.MaxBackupIndex=10
18
19
#
20
log4cplus.appender.ALL_MSGS.File=
log
/test.
log
21
log4cplus.appender.ALL_MSGS.layout=log4cplus::PatternLayout
22
#
23
#log4cplus.appender.ALL_MSGS.layout.ConversionPattern=|%D:%d{%Q}|%p|%t|%l|%m|%n
24
log4cplus.appender.ALL_MSGS.layout.ConversionPattern=[%-5p %d{%y-%m-%d %H:%M:%S}] [%l]%n%m%n%n
25
# , debug
26
#log4cplus.appender.ALL_MSGS.filters.1=log4cplus::spi::LogLevelMatchFilter
27
#log4cplus.appender.DEBUG_MSGS.filters.1.LogLevelToMatch=DEBUG
28
#log4cplus.appender.DEBUG_MSGS.filters.1.AcceptOnMatch=true
29
#log4cplus.appender.DEBUG_MSGS.filters.2=log4cplus::spi::DenyAllFilter