glogライブラリの基本使用
3386 ワード
glog
glogはgoogleオープンソースのプログラムレベルのログライブラリであり、c++ストリームスタイルに基づくAPIといくつかの簡略化マクロがGLOGの位置を取得することを提供しています.https://github.com/google/gloggit cloneをご利用いただけますhttps://github.com/google/glogソースの取得
Windows下glogライブラリのコンパイル
ソースファイルを取得すると、ソースディレクトリの下にVS 2010ベースgoolge-glogがある.slnソリューション、オープンエンジニアリングは4つのエンジニアリングが存在し、それぞれlibglog(DLL)、libglog_static(静的lib)、logging_unittest(DLLテストエンジニアリング)、logging_unittest_static(静的libテストエンジニアリング).Windowsはglogライブラリのヘッダファイルに基づいてソースディレクトリの下に保存されているsrcwindowsglog
ログの重大度レベル
glogログは、INFO、WARNING、ERROR、FATALの4つのレコードレベルに分けられ、出力ログレベルがFATALの場合、プログラムが直接中断されます.出力先glogを特に指定しないと、ログファイルは次の場所に記録されます」/tmp/...log....”,また、ERRORおよびFATALレベルのログをログファイルではなくstderrに出力します.上記の4つの標準レベルに加えて、verbose logをカスタマイズすることもでき、カスタムログはVLOGマクロを使用して出力する必要があります.
Windowsでglogライブラリを使用する際の注意点はWindowsを含む.hの場合、#include Windowsでglogライブラリを使用した初期化
初期部分を次のように整理して、使いやすいようにします.
glogライブラリのデフォルトログ出力フォーマット
[IWEF]mmdd hh:mm:ss.uuuuuuuu threadid file:line]msg、警告レベルの頭文字に対応し、月日時間スレッドIDファイル名:行番号ログ情報、例えば:I 1229 10:05:17.50075 16248 mainwindow.cpp:20.test出力フォーマットはソースコードを変更することによってカスタマイズされ、glogライブラリはプロファイルの情報定義出力フォーマットを提供していない.
glogはgoogleオープンソースのプログラムレベルのログライブラリであり、c++ストリームスタイルに基づくAPIといくつかの簡略化マクロがGLOGの位置を取得することを提供しています.https://github.com/google/gloggit cloneをご利用いただけますhttps://github.com/google/glogソースの取得
Windows下glogライブラリのコンパイル
ソースファイルを取得すると、ソースディレクトリの下にVS 2010ベースgoolge-glogがある.slnソリューション、オープンエンジニアリングは4つのエンジニアリングが存在し、それぞれlibglog(DLL)、libglog_static(静的lib)、logging_unittest(DLLテストエンジニアリング)、logging_unittest_static(静的libテストエンジニアリング).Windowsはglogライブラリのヘッダファイルに基づいてソースディレクトリの下に保存されているsrcwindowsglog
ログの重大度レベル
glogログは、INFO、WARNING、ERROR、FATALの4つのレコードレベルに分けられ、出力ログレベルがFATALの場合、プログラムが直接中断されます.出力先glogを特に指定しないと、ログファイルは次の場所に記録されます」/tmp/...log....”,また、ERRORおよびFATALレベルのログをログファイルではなくstderrに出力します.上記の4つの標準レベルに加えて、verbose logをカスタマイズすることもでき、カスタムログはVLOGマクロを使用して出力する必要があります.
Windowsでglogライブラリを使用する際の注意点
初期部分を次のように整理して、使いやすいようにします.
#include "glog/logging"
class GLogInit
{
public:
GLogInit(char* name)
{
//
google::InitGoogleLogging(name);
//
// 2
google::SetLogDestination(google::INFO,"D:\\glogTest\\log");
//
FLAGS_logtostderr = false;
//
FLAGS_alsologtostderr = false;
// ,
FLAGS_stderrthreshold = google::FATAL;
// ,
FLAGS_logbuflevel = google::WARNING;
//
FLAGS_logbufsecs = 0;
// , , M
FLAGS_max_log_size =10;
// ,
FLAGS_stop_logging_if_full_disk = true;
}
~GLogInit()
{
google::ShutdownGoogleLogging();
}
}
// GLogInit glog
GLogInit glotInit("processName");
glogライブラリのデフォルトログ出力フォーマット
[IWEF]mmdd hh:mm:ss.uuuuuuuu threadid file:line]msg、警告レベルの頭文字に対応し、月日時間スレッドIDファイル名:行番号ログ情報、例えば:I 1229 10:05:17.50075 16248 mainwindow.cpp:20.test出力フォーマットはソースコードを変更することによってカスタマイズされ、glogライブラリはプロファイルの情報定義出力フォーマットを提供していない.