google-glog 開源庫分析(二):glog用法
glog使用
- 設置符號變量,定製日誌行爲
- 日誌系統初始化
- 初始化函數:google::InitGoogleLogging(argv[0])
- 初始化參數通常是第一個命令行參數--即程序的名稱
- 結束時能夠調用關閉日誌系統函數
- 關閉日誌庫函數:google::ShutdownGoogleLogging()
- 程序運行時,可經過命令行參數或環境變量來控制程序的日誌行爲
glog APIs:
- void google::InitGoogleLogging(const char* argv0)
- void google::ShutdownGoogleLogging()
- void google::FlushLogFiles(LoSeverity min_severity)
- [Thread-safe]指定級別以上的全部日誌消息都當即寫入到日誌文件中
- void google::FlushLogFilesUnsafe(LogSeverity min_severity)
- 非線程安全的輸出指定級別以上的日誌消息,用於災難性程序問題時輸出必要的日誌消息
- void google::SetLogDestination(LogSeverity severity,const char* base_filename)
- [Thread-safe]設置指定級別的日誌輸出的日誌文件,若是base_filename爲""則表示該級別日誌不輸出
- void google::SetLogSymlink(LogSeverity severity,const char* symlink_basename)
- [Thread-safe]設置置頂級別的日誌文件的軟鏈接,symlik_basename爲空表示不設置軟鏈接
- 若是不調用該函數,系統默認鏈接名稱是程序名
- void google::AddLogSink(LogSink *destination)
- void google::RemoveLogSink(LogSink *destination)
- void google::SetLogFilenameExtension(const char* filename_extension)
- [Thread-safe]爲全部日誌文件添加文件擴展名,特別用於SetLogDestination()設置的日誌文件
- 一般作法是將監聽的端口號做爲日誌文件擴展名
- void google::SetStderrLogging(LogSeverity min_severity)
- [Thread-safe]肯定除了輸出到日誌文件同時還輸出到STDERR的日誌最小級別
- void google::LogToStderr()
- [Thread-safe]設置只只將日誌輸出到STDERR而不輸出到日誌文件
- void google::SetEmailLogging(LogSeverity min_severity,const char* address)
- [Thread-safe]設置發送郵件的日誌最小級別
- bool google::SendEmail(const char dest,const char subject,const char *body)
- const std::vector
& google::GetLoggingDirectories()
- void google::InstallFailureSignalHandler()
- 信號處理函數,處理的主要信號有SIGSEGV/SIGILL/SIGFPE/SIGBRT/SIGBUS/SIGTERM
- void google::InstallFailureWriter(void (writer)(const char data,int size))
- 設置系統崩潰時的輸出函數,data數據不必定是以'\0'結尾
- void google::InstallFailureFunction(void (*fail_func)())
- 設置LOG(FATAL)在輸出日誌消息後調用的函數
歡迎關注本站公眾號,獲取更多信息