freecplus框架 日誌檔案操作

2021-10-23 01:20:06 字數 1997 閱讀 1917

本文介紹的是freecplus框架中日誌檔案操作的方法。

函式和類的宣告檔案是freecplus/_freecplus.h。

函式和類的定義檔案是freecplus/_freecplus.cpp。

示例程式位於freecplus/demo目錄中。

編譯規則檔案是freecplus/demo/makefile。

對於c/c++服務程式來說,程式執行在後台,沒有操作介面,無人值守,程式執行的狀態、資料處理的日誌、程式的異常等必須記錄在日誌檔案中,運維人員根據日誌檔案的內容,檢視程式執行和資料處理的情況。

clogfile類用於服務程式記錄程式的執行日誌。

// 日誌檔案操作類

class

clogfile

;

示例(demo42.cpp)

/*

* 程式名:demo42.cpp,此程式演示採用freecplus框架的clogfile類記錄程式的執行日誌。

* 本程式修改demo40.cpp把輸出的printf語句改為寫日誌檔案。

*/#include

"../_freecplus.h"

intmain()

logfile.

write

("demo42程式開始執行。\n");

cdir dir;

// 掃瞄/tmp/data目錄下檔名匹配"surfdata_*.xml"的檔案。

if(dir.

opendir

("/tmp/data"

,"surfdata_*.xml")==

false

) cfile file;

while

(dir.

readdir()

==true

)// 這裡可以插入讀取資料檔案的內容、解析xml字串並把資料寫入資料庫的**。

// 讀取文字資料用fgets和ffgets方法,讀取二進位制資料用fread方法。

// 具體的**我就不寫了。

// 處理完檔案中的資料後,關閉檔案指標,並刪除檔案。

file.

closeandremove()

; logfile.

writeex

("ok\n");

} logfile.

write

("demo42程式執行結束。\n");

}

先執行demo39程式,在/tmp/data目錄中生成幾個資料檔案,然後執行demo42,將生成日誌檔案/tmp/log/demo42.log,內容如下:

我們通過乙個示例程式的演示日誌檔案的切換功能,往日誌檔案中寫入一千萬資料,讓它產生切換。

示例(demo43.cpp)

/*

* 程式名:demo43.cpp,此程式演示freecplus框架的clogfile類的日誌檔案的切換。

*/#include

"../_freecplus.h"

intmain()

logfile.

write

("demo43程式開始執行。\n");

// 讓程式迴圈10000000,生成足夠大的日誌。

for(

int ii=

0;ii<

10000000

;ii++

) logfile.

write

("demo43程式執行結束。\n");

}

執行demo43,將在/tmp/log目錄中產生一批日誌檔案,用ls -l /tmp/log檢視如下:

freecplus框架 xml解析

本文介紹的是採用freecplus框架的解析xml格式字串函式。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefi...

freecplus框架 xml解析

本文介紹的是採用freecplus框架的解析xml格式字串函式。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefi...

freecplus框架 目錄操作

目錄本文介紹的是freecplus框架的目錄操作函式和類。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefile。...