91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

linux fprintf在日志記錄中的應用

小樊
85
2024-08-27 00:43:27
欄目: 智能運維

fprintf 是一個 C 語言庫函數,用于將格式化的輸出寫入文件流

  1. 首先,在程序中包含必要的頭文件:
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
#include <time.h>
  1. 定義一個日志記錄函數,例如 log_message,它接受一個文件名、一個消息和一個表示消息類型的整數(例如,0 表示信息,1 表示警告,2 表示錯誤):
void log_message(const char *filename, const char *message, int message_type) {
    // ...
}
  1. log_message 函數中,打開指定的日志文件以追加模式:
FILE *log_file = fopen(filename, "a");
if (log_file == NULL) {
    printf("Error opening log file: %s\n", filename);
    return;
}
  1. 獲取當前時間并將其格式化為字符串:
time_t current_time = time(NULL);
struct tm *local_time = localtime(&current_time);
char timestamp[20];
strftime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S", local_time);
  1. 根據消息類型設置消息前綴:
const char *prefix;
switch (message_type) {
    case 0:
        prefix = "INFO";
        break;
    case 1:
        prefix = "WARNING";
        break;
    case 2:
        prefix = "ERROR";
        break;
    default:
        prefix = "UNKNOWN";
}
  1. 使用 fprintf 將格式化的日志消息寫入文件:
fprintf(log_file, "[%s] [%s] %s\n", timestamp, prefix, message);
  1. 關閉日志文件:
fclose(log_file);

現在,你可以在程序中調用 log_message 函數來記錄日志。例如:

int main() {
    log_message("example.log", "This is an info message.", 0);
    log_message("example.log", "This is a warning message.", 1);
    log_message("example.log", "This is an error message.", 2);
    return 0;
}

這將在 example.log 文件中創建以下日志條目:

[2022-01-01 12:34:56] [INFO] This is an info message.
[2022-01-01 12:34:56] [WARNING] This is a warning message.
[2022-01-01 12:34:56] [ERROR] This is an error message.

這只是一個簡單的示例,實際應用中可能需要更復雜的日志記錄功能。但是,fprintf 是實現這些功能的基本工具。

0
拉萨市| 股票| 黎城县| 海林市| 克山县| 洞头县| 香港| 河北区| 盐亭县| 庆元县| 伽师县| 珲春市| 大港区| 武宁县| 会理县| 宾川县| 三河市| 怀来县| 正蓝旗| 松溪县| 无棣县| 开封县| 林口县| 台安县| 正镶白旗| 延吉市| 故城县| 班戈县| 邛崃市| 张家界市| 徐汇区| 类乌齐县| 伊川县| 曲阳县| 兴山县| 古交市| 邹城市| 肇东市| 沁阳市| 临夏县| 克什克腾旗|