AC記錄庫為高性能和豐富的功能集建立。
한국어| 簡體中文
關鍵功能|構建和安裝|基本用法|貢獻
Stampless具有許多功能,可以使C快速輕鬆地登錄:
該庫的主要目標是為各種日誌目標提供一致的記錄接口。這意味著您可以專注於定義事件以及您希望它們去的地方,而無需找到其他SDK或添加守護程序和插件以將它們帶到所需的位置。 Stumpless可以寫日誌:
看不到你需要什麼嗎?在您的請求中創建一個問題,我們將其納入路線圖!
Stumpless僅需要CMAKE和CMAKE支持的構建工具鏈(例如GCC或Visual Studio)才能構建。
# cloning the latest version of the source tree
git clone [email protected]:goatshriek/stumpless.git
# creating a new build directory
mkdir build
cd build
# configuring the new build
cmake ../stumpless
# building stumpless (with 4 threads - adjust as desired)
cmake --build . --parallel 4
# install the library (you probably need sudo to do this)
sudo cmake --install .查看安裝說明,以獲取有關在不同環境和/或其他工具鏈中構建和安裝Stumpless的更多詳細信息。
最簡單的入門方法是將stumplog函數用作標準庫的syslog函數的直接替換:
// if you're used to doing this:
syslog ( LOG_INFO | LOG_USER , "My message #%d" , count );
// then you can start by changing to this:
stumplog ( LOG_INFO | LOG_USER , "My message #%d" , count );如果您尚未打開目標,則將將消息記錄到平台的默認目標:在Linux上,這是/dev/log ,在Mac系統上,這將是/var/run/syslog ,在Windows計算機上,它是Windows Event Log。如果您在調用stumplog之前打開目標,甚至幾個目標,則將日誌發送到最近打開的目標。
如果您想要一個更短的函數調用,則可以使用stump功能將消息發送到當前目標。您也可以像printf一樣使用格式指示符:
stump ( "Login attempt failure #%d for user %s" , count , username );如果您不需要格式指定符,請使用其中一個_str型號:既快速又更安全!
stump_str ( "Login failure! See structured data for info." );如果要打開特定目標而不是使用默認值,則只需打開所需的目標並開始發送消息即可。例如,登錄到名為example.log的文件:
target = stumpless_open_file_target ( "example.log" );
// uses the last opened target by default
stump ( "Login attempt failure #%d for user %s" , count , username );通過網絡將消息發送到Splunk或rsyslog之類的東西同樣容易:
target = stumpless_open_udp4_target ( "send-to-splunk-example" ,
"mylogserver.com" ); // or use an IP
stump ( "Login attempt failure #%d for user %s" , count , username );如果您有多個目標,則可以將消息發送到這樣的目標:
stumpless_add_message ( target ,
"Login attempt failure #%d for user %s" ,
count ,
username );通常在記錄呼叫中直接指定嚴重程度級別,因此Stumpless提供了一些宏觀功能,以使其詳細且效率更高。例如,要登錄信息的嚴重性,您可以執行此操作:
stump_i ( "this gets logged as an info message" );而且,如果您還要查看源文件,行號和函數名稱信息,則可以使用_t ('t'用於跟踪):
stump_t ( "this includes source info" );使用這些函數具有附加的好處,即可以通過簡單地定義STUMPLESS_ENABLE_UPTO或STUMPLESS_DISABLE_DOWNTO符號來在編譯時刪除它們。這使得可以輕鬆更改構建之間的記錄級別,例如,具有產品和調試版本而沒有其源代碼差異。
// be sure to define this before stumpless.h gets included
#define STUMPLESS_ENABLE_UPTO_INFO
// ...
// this log will go through just fine
stump_i ( "I'm doing that thing you asked" );
// this debugging message is completely removed: no runtime impact whatsoever
stump_d ( "DEBUG info: %d, %d, %s" , thing_1 , thing_2 , stringy_thingy );在Stumpless/Level中查看標題,以查看嚴重性速記功能的完整列表,或嚴重性級別的示例,以查看在行動中的完整程序。
有關上述方案的更詳細示例,特定目標類型的使用,如何處理更複雜的消息結構以及更多查看示例。其中包括帶註釋的示例代碼文件以編譯,運行和修改以使您開始。
注意問題還是有功能請求?只需使用其中一個模板來創建一個問題,我們將盡快做出響應。您還可以查看項目的貢獻指南,以獲取有關可以回饋開源社區的不同方式的更多詳細信息!
如果您想實際編寫一些代碼或自己進行更新,請查看開髮指南以獲得詳細的方向。根據您的經驗水平和對貢獻的熟悉程度,有一些選擇。
第一個選擇是瀏覽標籤良好的第一期的問題列表。這些問題被選擇為一小部分但有意義的工作,並包括有關完成它們的一般方法的詳細信息。如果您只是想測試該項目的水或一般開源貢獻,那麼它們是一個很好的起點。
經驗豐富的開發人員可能更喜歡查看項目上的問題以及路線圖的完整列表。如果一個物品引起您的興趣,請在現有問題上發表評論,或者如果尚不存在,則打開一個新問題,並說明您的意圖進行工作,以便其他人知道它正在進行中。
如果您對Stumpless中沒有解釋的某些內容感到好奇,則可以檢查存儲在Docs文件夾中的文檔的適當部分。存儲庫中的文件夾包含他們自己的讀數文件,可詳細說明其包含的內容以及任何其他相關信息。每個功能的文檔也託管在項目網站上,C庫以及其他語言綁定(例如C ++)。
Stampless還以man頁的形式包括本地安裝中的文檔。安裝庫後,您可以通過運行MAN名稱為標頭的名稱,以替換為下劃線,例如man stumpless_log.h來查看文檔,以查看文檔,以查看記錄簡單字符串消息的函數的文檔。
您還可以通過多種方式與項目團隊和更廣泛的社區聯繫以尋求支持。