天天看點

ACE篇之四:通過ACE日志政策進行運作時配置

我們可以通過配置檔案,訓示程式在運作時進行日志參數配置:如日志重定向、輸出日志類型、輸出日志嚴重級别、日志檔案最大尺寸、日志輸出格式等等。

1、在應用程式所在目錄中建立svc.conf檔案,内容如下:

dynamic Logger Service_Object* ACE:_make_ACE_Logging_Strategy() "-s log.out -f STDERR|OSTREAM -p INFO|DEBUG|NOTICE|ERROR "

2、建立控制台項目Strategy_Practice,除Strategy_Practice.cpp外,删除其他自動生成的檔案:Strategy_Practice.cpp内容如下:(項目的設定請參照前面的文章說明,否則無法編譯)

// Strategy_Practice.cpp : 定義控制台應用程式的入口點。

//通過ACE日志政策進行運作時配置

// Strategy_Practice.cpp : 定義控制台應用程式的入口點。

//通過ACE日志政策進行運作時配置

#define ACE_NTRACE 0

#include "ace/Log_Msg.h"

#include "ace/service_config.h"//日志配置政策類

int ACE_TMAIN(int argc, ACE_TCHAR* argv[])

{

//打開日志配置檔案,預設是svc.conf,此檔案必須儲存在應用程式所在目錄下

if(ACE_Service_Config::open(argc,argv,ACE_DEFAULT_LOGGER_KEY,1,0,1)<0)

   ACE_ERROR_RETURN((LM_ERROR,ACE_TEXT("%p/n"),ACE_TEXT("Service config open")),1);

ACE_TRACE(ACE_TEXT("main"));

ACE_DEBUG((LM_NOTICE,ACE_TEXT("%t%IHowdy Pardner/n")));

ACE_DEBUG((LM_INFO,ACE_TEXT("%t%IGoodnight/n")));

return 0;

}

關鍵是ACE_Service_Config::open(argc,argv,ACE_DEFAULT_LOGGER_KEY,1,0,1)

調用,預設打開svc.conf檔案,後面的日志釋出政策将依據此檔案中的配置資訊進行。

繼續閱讀