无法在使用BuysBox v1.19.3创建的linux kernal 2.6.37.6中找到“Syslog.conf”

时间:2014-04-18 06:15:44

标签: c linux syslog

在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

1 个答案:

答案 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,
    },