ACE(一):使用ACE日誌設施

來源:互聯網
上載者:User

1、前言:

使用ACE日誌設施的主要宏如下:

ACE_DEBUG(常用):用於調試語句

ACE_ERROR(常用):用於警告和錯誤

ACE_TRACE:用於跟蹤資訊

2、建立控制台項目Log_Text(vs2008)

4、修改Log_Text.cpp檔案

// Log_Text.cpp : 定義控制台應用程式的進入點。<br />//</p><p>#include "stdafx.h"</p><p>#define ACE_NTRACE 0//是否可是使用宏ACE_TRACE 0 啟用,1 禁用,預設禁用<br />#include "ace/Log_Msg.h"</p><p>void foo(void);</p><p>int ACE_TMAIN(int, ACE_TCHAR *[])<br />{<br />ACE_TRACE(ACE_TEXT("MAIN"));<br />ACE_DEBUG((LM_INFO,ACE_TEXT("%t Hi Mom!/n")));<br />foo();<br />ACE_DEBUG((LM_INFO,ACE_TEXT("%I howdy pardner/n")));<br />system("pause");<br />return 0;<br />}</p><p>void foo(void)<br />{<br />ACE_TRACE(ACE_TEXT("foo"));<br />ACE_DEBUG((LM_INFO,ACE_TEXT("%I Howdy pardner/n")));<br />}

運行結果:

5、若想在vs2008中運行,必須修改項目屬性:

右鍵點擊項目-》屬性

(1)C/C++屬性

常規--附加元件封裝含目錄:$(ACE_ROOT)

代碼產生:多線程調試Dll(MDd)

(2)連結器

常規--附加庫目錄:$(ACE_ROOT)/lib

輸入--附加依賴項:ACEd.lib

進階--隨機基址:禁用映象隨機化

進階--資料執行防止:預設值

6、電腦環境變數

增加ACE_ROOT,設定其值為:D:/ACE_5.6/ACE_Wrappers

在Path變數中增加:D:/ACE_5.6/ACE_Wrappers/bin和D:/ACE_5.6

7、編譯項目

8、在控制台中執行Log_Text.exe輸出:

在項目中若沒有加入#define ACE_NTRACE 0,則運行結果為:
Hi Mom
Howdy Pardner
Goodnight

發現ACE_TRACE不起作用,查書,發現預設情況下該功能是關閉的,解決辦法:

可以使用一下兩種方法解決問題:
(1)、修改檔案代碼
#define ACE_NTRACE 0
#include "ace/Log_Msg.h"

在這要注意:#define ACE_NTRACE 0 必須在#include "ace/Log_Msg.h" 上面,否則ACE_TRACE還是不會起作用。

(2)、在編譯命令上增加定義宏的命令
可以增加如下選項 -DACE_NTRACE

小結:

1、#include "ace/Log_Msg.h"中包含很多宏,其中就包括ACE_DEBUG等大量的調試宏,可以令編程變得輕鬆。

2、ACE_Log _Msg::PROCESS---擷取或設定進程範圍的掩碼,會影響所以ACE_Log_Msg執行個體的日誌嚴重性ACE_Log_Msg::THREAD--線程專有掩碼設定,若是要在ACE_Log_Msg執行個體上設定個別的嚴重性掩碼時,這第二個參數就非常重要

 參考:http://blog.csdn.net/sws9999/archive/2010/10/14/5940423.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.