在BusyBox和工具链的帮助下,我使用Linux内核2.6.37.6为我的控制器创建了一个小型操作系统。我正在写一个日志模块(C程序),我想要/log/
中的自定义日志(不同日志的自定义路径)。
我的机器中有syslogd
而/etc/syslog.conf
应该出现在我的机器中,但不是它的地方。我在syslog.conf
下创建了新的/etc
,但仍然无法在所需位置找到我的日志。
但是如果我运行命令syslogd -O /log/Controller.log
,所有日志都开始重定向到此(指定文件)。所以我想知道这个configuration file
的{{1}}在哪里找不到它的配置文件。
有没有办法可以为LOGS编写模块(程序)而不需要syslogd
,当然是传统的syslog.conf
方式。问题是,对于printf
的自定义路径,我们需要在log
中给出关键字LOG_LOCAL1
作为参数,但它不起作用
我按照这个例子中的程序http://www.codealias.info/technotes/syslog_simple_example
答案 0 :(得分:0)
如果您使用的是Busybox的syslogd,则不支持syslog.conf,默认情况下会将所有日志写入/ var / log / messages。
您可以在busybox中修改syslogd的代码,该代码位于 busybox / sysklogd / syslogd.c 中,以满足您的愿望
您可以像这样更改syslogd的代码
static const struct init_globals init_data = {
.logFile = {
.path = "your desire path",
.fd = -1,
},