轮转由 nxlog 创建的文件
Rotate files created by nxlog
我在 Windows Server 2012 R2 上使用 nxlog-ce。
nxlog 正在输出两个 txt 文件。
我想每小时轮换这两个文件。我希望活动日志保持相同的名称 logfileA.txt logfileB.txt 并创建新的轮换文件 logfileA.txt.2 logfileB.txt.2
我只希望每个日志有两个文件 logfileA.txt 和 logfileA.txt.2 但绝不是 logfileA.txt.3
这是我当前 nxlog.config
中的重要部分
define LOGFILE_Atxt C:\test\logfileA.txt
define LOGFILE_Btxt C:\test\logfileB.txt
<Extension fileop>
Module xm_fileop
<Schedule>
Every 1 hour
Exec file_cycle('%LOGFILE_Atxt%', 2);
Exec file_cycle('%LOGFILE_Btxt%', 2);
</Schedule>
</Extension>
<Output loga_out>
Module om_file
file 'c:\test\logfileA.txt'
CreateDir TRUE
</Output>
<Output logb_out>
Module om_file
file 'c:\test\logfileB.txt'
CreateDir TRUE
</Output>
<Route loga_route>
Path loga_input => loga_out
</Route>
<Route logb_route>
Path logb_input => logb_out
</Route>
在此配置中,当 nxlog 服务启动时,它会立即创建 logfileA.txt.1 和 logfileB.txt.1
但是,系统从不轮换日志。 logfileA.txt.2 和 logfileB.txt.2 永远不会创建。
我找不到有关如何使用 nxlog 设置日志轮换的资源。
非常感谢任何帮助。谢谢!
我认为问题是 om_file 一直写入旋转文件。您需要通知它,以便它重新打开其输出。以下应该有效:
<Extension fileop>
Module xm_fileop
</Extension>
<Output loga_out>
Module om_file
file 'c:\test\logfileA.txt'
CreateDir TRUE
<Schedule>
Every 1 hour
Exec file_cycle('%LOGFILE_Atxt%', 2);
Exec loga_out->reopen();
</Schedule>
</Output>
<Output logb_out>
Module om_file
file 'c:\test\logfileB.txt'
CreateDir TRUE
<Schedule>
Every 1 hour
Exec file_cycle('%LOGFILE_Btxt%', 2);
Exec logb_out->reopen();
</Schedule>
</Output>
我在 Windows Server 2012 R2 上使用 nxlog-ce。
nxlog 正在输出两个 txt 文件。
我想每小时轮换这两个文件。我希望活动日志保持相同的名称 logfileA.txt logfileB.txt 并创建新的轮换文件 logfileA.txt.2 logfileB.txt.2
我只希望每个日志有两个文件 logfileA.txt 和 logfileA.txt.2 但绝不是 logfileA.txt.3
这是我当前 nxlog.config
中的重要部分define LOGFILE_Atxt C:\test\logfileA.txt
define LOGFILE_Btxt C:\test\logfileB.txt
<Extension fileop>
Module xm_fileop
<Schedule>
Every 1 hour
Exec file_cycle('%LOGFILE_Atxt%', 2);
Exec file_cycle('%LOGFILE_Btxt%', 2);
</Schedule>
</Extension>
<Output loga_out>
Module om_file
file 'c:\test\logfileA.txt'
CreateDir TRUE
</Output>
<Output logb_out>
Module om_file
file 'c:\test\logfileB.txt'
CreateDir TRUE
</Output>
<Route loga_route>
Path loga_input => loga_out
</Route>
<Route logb_route>
Path logb_input => logb_out
</Route>
在此配置中,当 nxlog 服务启动时,它会立即创建 logfileA.txt.1 和 logfileB.txt.1 但是,系统从不轮换日志。 logfileA.txt.2 和 logfileB.txt.2 永远不会创建。
我找不到有关如何使用 nxlog 设置日志轮换的资源。
非常感谢任何帮助。谢谢!
我认为问题是 om_file 一直写入旋转文件。您需要通知它,以便它重新打开其输出。以下应该有效:
<Extension fileop>
Module xm_fileop
</Extension>
<Output loga_out>
Module om_file
file 'c:\test\logfileA.txt'
CreateDir TRUE
<Schedule>
Every 1 hour
Exec file_cycle('%LOGFILE_Atxt%', 2);
Exec loga_out->reopen();
</Schedule>
</Output>
<Output logb_out>
Module om_file
file 'c:\test\logfileB.txt'
CreateDir TRUE
<Schedule>
Every 1 hour
Exec file_cycle('%LOGFILE_Btxt%', 2);
Exec logb_out->reopen();
</Schedule>
</Output>