有谁知道是否可以编写一个包含字符\n
和\t
in 的字符串syslog
?
我使用了 C 程序,并尝试创建一个包含\n
和 的字符串变量\t
。然后我尝试了cat
该syslog
文件,结果不是我想要的。在系统日志中,这些字符被替换为#012
和#011
。我确实找到了一些使用正则表达式的脚本,以便以愉快的方式读取该文件,但这不是我需要的。我需要的是在系统日志中写入具有指定标识的字符串。
这是我想做的一个例子:
#include <syslog.h>
#include <stdio.h>
int main()
{
char *myMessage = "This is the first line\n This is the second line\n \tThis is the third line\n";
syslog(LOG_ERR, "My message is: %s", myMessage);
return 0;
}
这是我之后得到cat
的syslog
:
test: My message is: This is the first line#012 This is the second line#012 #011This is the third line
这是我想要得到cat
的syslog
:
test: My message is: This is the first line
This is the second line
This is the third line
答案1
系统日志消息是隐式的一条线。如果您想要多行,请发送多条系统日志消息,或者最好使消息更短。由于系统日志格式(例如日期和时间格式)是可配置的,因此您无法在发送器中正确设置缩进。