2016-09-23 22 views
0

我想了解如何在Linux上開發應用程序(只有C),以便可以在調試模式執行中獲取爲其生成的日誌文件。 Syslog是一個守護進程,我們的應用程序記錄到它的日誌消息與其他消息混合在一起。我想要一個自定義的日誌文件(只是與系統日誌不同,但是特定於此應用程序,並且每次都可以是相同的文件,或者每次執行時都是不同的文件)。我想問的是特定的DEBUG模式來縮小問題的範圍,但理想情況下,我想實現3種執行模式:啓用LOG模式(不調試),禁用LOG模式(不是調試模式),調試模式(將創建日誌在此模式下默認)。在Linux上爲C應用程序在DEBUG模式下執行自定義日誌記錄

回答

0

這沒有圖書館界面,如果這就是你要找的。

你的應用程序將需要打開日誌文件本身,那麼你可以定義一組功能登錄爲「錯誤」,「警告」,「信息」,「調試」等

你」我也希望有一些方法來定期滾動你的日誌文件。

如果要使用基於大小的滾動,可以使用fprintf打印到日誌,然後捕獲返回值以獲取寫入的字節數。然後,您可以將該值添加到計數器並查看您是否達到了尺寸閾值。如果您想要基於日期的滾動,您可以設置下一個滾動的時間,然後檢查當前時間是否在該時間之後。

當您達到滾動標準時,您將關閉當前日誌文件,重命名該文件(如果需要,還需要舊文件),然後打開新的日誌文件。

要保持一定數量的文件,讓我們說n日誌文件,先刪除logfile.n,然後重命名logfile.n-1logfile.nlogfile.n-2logfile.n-1,等等,直到你得到你重新命名logfilelogfile.1最新的文件。

對於基於日期滾動,你只需要,如果你想每天滾動,logfile.YYYYMMDD_HH如果你想每小時滾動,等等,從logfile最近的日誌文件重命名爲logfile.YYYYMMDD

+0

謝謝dbush的解釋... – Bhargav

相關問題