日誌檔案大小限定

2021-08-19 07:01:47 字數 1142 閱讀 3506

#include #include #include #include //getpid

#include "time.h"

#include "stdarg.h"

#include "syslog.h"

#define log_file_name_len     64        

#define log_max_size          128

#define log_file_max_size     1024

long g_offset = 0;  //記錄最後一次寫入檔案的位置

void test_log(const char *ms, ...)

//超過檔案最大限制,則從檔案頭開始重新記錄

if (g_offset > log_file_max_size)

//fseek函式用於偏移檔案當前指標到指定位置後,fwrite從該位置寫入(發現如果用a+ fopen檔案則不能指定偏移進行寫入,新的內容一直從尾部開始寫入)

fseek(file, g_offset, seek_set);

fwrite(buffer, 1, strlen(buffer), file);

fclose(file);

g_offset += strlen(buffer);

return;

}int main()

return 0;

}

程式執行後,超過1k後,則重新從檔案頭開始記錄,日誌效果如下:

18:18:25 node 13      //  從13開始從檔案頭開始記錄

18:18:26 node 14

18:18:27 node 15

18:18:15 node  3       //  節點3為當前最老的日誌點;節點0,1,2被最新日誌覆蓋

18:18:16 node  4  

18:18:17 node  5  

18:18:18 node  6

18:18:19 node  7

18:18:20 node  8

18:18:21 node  9

18:18:22 node 10

18:18:23 node 11

18:18:24 node 12

壓縮日誌及檔案大小

壓縮日誌及資料庫 檔案大小 特別注意 請按步驟進行,未進行前面的步驟,請不要做後面的步驟 否則可能損壞你的資料庫.1.清空日誌 dump transaction 庫名 with no log 2.截斷事務日誌 backuplog資料庫名withno log 3.收縮資料庫檔案 如果不壓縮,資料庫的檔...

修改oracle日誌檔案大小

1 建立2個新的日誌組 alter database add logfile group 4 d oracle oradata oradb redo04 1.log size 1024k alter database add logfile group 5 d oracle oradata orad...

修改oracle日誌檔案大小

1 建立2個新的日誌組 alter database add logfile group 4 d oracle oradata oradb redo04 1.log size 1024k alter database add logfile group 5 d oracle oradata orad...