写一个保存日志的函数
时间: 2023-12-26 20:06:22 浏览: 26
下面是一个简单的 Python 函数,用于保存日志:
```python
import datetime
def save_log(message):
timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open("log.txt", "a") as log_file:
log_file.write(f"[{timestamp}] {message}\n")
```
该函数接受一个字符串参数 `message`,并将其写入到名为 `log.txt` 的文件中。每次调用函数时,它会在日志文件中添加一行,其中包含当前时间戳和消息内容。日志文件将被追加,而不是覆盖。
相关问题
使用C语言写一个保存日志的函数
可以使用C语言的文件操作函数来实现保存日志的功能,具体实现如下:
```c
#include <stdio.h>
#include <time.h>
void save_log(char *msg) {
FILE *fp;
time_t t = time(NULL);
struct tm *tm_time = localtime(&t);
char filename[20];
// 根据当前日期生成文件名
sprintf(filename, "%d-%02d-%02d.log", tm_time->tm_year + 1900, tm_time->tm_mon + 1, tm_time->tm_mday);
// 打开文件,以追加的方式写入日志信息
fp = fopen(filename, "a");
if (fp != NULL) {
fprintf(fp, "[%02d:%02d:%02d] %s\n", tm_time->tm_hour, tm_time->tm_min, tm_time->tm_sec, msg);
fclose(fp);
}
}
```
使用方法:
```c
save_log("This is a log message.");
```
该函数会在当前日期所对应的日志文件中追加一行日志信息,格式为`[HH:MM:SS] message`。例如,在2021年7月20日,调用该函数时,会在文件`2021-07-20.log`中追加一行类似于`[12:34:56] This is a log message.`的日志信息。
使用C语言写一个支持可变参数保存日志的函数
下面是一个使用C语言实现的支持可变参数保存日志的函数:
```c
#include <stdio.h>
#include <stdarg.h>
void log_msg(const char *format, ...) {
va_list args;
va_start(args, format);
vprintf(format, args);
va_end(args);
}
```
这个函数使用了标准库中的可变参数函数库 `stdarg.h`。函数接受一个字符串格式化参数,和可变参数列表 `...`。在函数内部使用 `va_list` 声明一个参数列表对象,然后使用 `va_start` 宏将参数列表初始化,再使用 `vprintf` 函数将参数列表和格式化字符串一起输出,最后使用 `va_end` 宏清理参数列表对象。这个函数可以根据需要进行调整,比如将日志保存到文件中等。