#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...