日誌記錄重定向到檔案

2021-08-04 22:22:18 字數 838 閱讀 3411

//開啟檔案

fp = fopen("/mnt/sdcard/com.log", "at+");

if(fp == null)

//重定向檔案

oldstdout    = dup(std_out);

dup2(fileno(fp) , std_out);

oldstderr    = dup(std_err);

dup2(fileno(fp) , std_err);

//限定日誌檔案大小,大於限定值清空檔案重寫

while(1)

if(rc > 10*1024)

rc = fseek(fp, 0, seek_set);

if(rc < 0)

oldstdout    = dup(std_out);

//dup2(sock, std_out);

dup2(fileno(fp) , std_out);

oldstderr    = dup(std_err);

//dup2(sock, std_err);

dup2(fileno(fp) , std_err);

rc = lseek(std_out, 0, seek_set);

if(rc < 0)

rc = lseek(std_err, 0, seek_set);

if(rc < 0)

printf("\n\n############# reset file pos 0 ####################\n\n");

}sleep(3);

}該方案可用於裝置日誌系統,用於記錄裝置的運**況,當裝置出現異常後有完整的日誌資訊用於定位問題。

docker kafka日誌檔案重定向

專案採用docker compose啟動kafka,預設日誌檔案會寫入 var lib docker volumes 導致系統磁碟被寫滿。加入下面kafka log dirs配置,並且把配置的容器內位址對映到系統資料資料夾下即可 kafka image wurstmeister kafka cont...

Cout重定向到檔案

cout預設是與監視器 螢幕 相連,cout出來的內容會輸出到螢幕上,通常是會在命令列視窗之中。但有時,我們希望將cout出來的具體日誌 錯誤資訊寫到某個檔案之中,而螢幕上僅僅顯示出當前進行的任務,以及程式執行狀態等資訊。我們可以使用下面重定向的方式來實現 cpp view plain copy i...

重定向stdout到檔案

把stdout重定向到檔案 兩種方法 第一種方法沒有恢復 通過freopen把stdout重新開啟到檔案 include file stream void main void fprintf stdout,this is not print out n 這裡沒有輸出 system ls 沒有會造成問...