NXLog 总是转发磁盘上的文件(即使它没有改变)

NXLog always forward file on disk (even if it hasn't change)

我有以下 NXLog 配置,它从磁盘读取文件并将其转发到另一台主机 (syslog)。默认情况下,如果日志文件中的数据发生更改,NXLog 似乎只会转发它。

如何配置 'nxlog.conf' 使其始终转发文件,即使数据相同?

<Input in>
    Module     im_file
    File       "C:\myfile.txt"
</Input>

<Output out>
    Module      om_tcp
    Host        127.0.0.1
    Port        12345
</Output>

<Route 1>
    Path        in => out
</Route>

在 NXLog 论坛上进行了一番挖掘后,无法做到这一点。基本上,NXLog 将监视文件(您可以配置频率)的更改并在附加值(或更改)时重新传输。

因此,解决方法是删除该文件并重新写入内容(也许在某个时间表上),让 NXLog 再次转发它。

NXLog 不会从文件中重新读取数据,除非在 nxlog 运行ning 期间更新该文件。

但是还有另一种解决方法。 将 ReadFromLast FALSESavePos FALSE 添加到 im_file 模块定义中,然后定期 运行 nxlog -c <custom config> 不过,自定义配置必须指定不同的 pid 位置。