void GlobalInit( int * pargc, char *** pargv) {
// Google flags.
::gflags::ParseCommandLineFlags(pargc, pargv, true );
// Google logging.
std::string FLAGS_log_dir= "./log/" ; //存放日誌文件的文件夾路徑,我們可以自己指定
_mkdir(FLAGS_log_dir.c_str());
FLAGS_colorlogtostderr = true ; //設置輸出到屏幕的日誌顯示相應顏色
std::string LOG_INFO_FILE;
std::string LOG_WARNING_FILE;
std::string LOG_ERROR_FILE;
std::string LOG_FATAL_FILE;
std::string now_time = boost::posix_time::to_iso_extended_string(boost::posix_time::second_clock::local_time());
now_time[13] = '-' ;
now_time[16] = '-' ;
LOG_INFO_FILE = FLAGS_log_dir + "INFO" + now_time + ".txt" ;
google::SetLogDestination(google::GLOG_INFO, LOG_INFO_FILE.c_str());
LOG_WARNING_FILE = FLAGS_log_dir + "WARNING" + now_time + ".txt" ;
google::SetLogDestination(google::GLOG_WARNING, LOG_WARNING_FILE.c_str());
LOG_ERROR_FILE = FLAGS_log_dir + "ERROR" + now_time + ".txt" ;
google::SetLogDestination(google::GLOG_ERROR, LOG_ERROR_FILE.c_str());
LOG_FATAL_FILE = FLAGS_log_dir + "FATAL" + now_time + ".txt" ;
google::SetLogDestination(google::GLOG_FATAL, LOG_FATAL_FILE.c_str());
::google::InitGoogleLogging(*(pargv)[0]);
// Provide a backtrace on segfault.
#if !defined(_MSC_VER)
::google::InstallFailureSignalHandler();
#endif
}
|