背景
使用nxlog收集win服务器2012 R2服务器的日志。配置文件如下所示
define ROOT C:\Program Files (x86)\nxlog
define CERTDIR %ROOT%\cert
define CONFDIR %ROOT%\conf
define LOGDIR %ROOT%\data
define LOGFILE %LOGDIR%\nxlog.log
LogFile %LOGFILE%
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
<Extension _syslog>
Module xm_syslog
</Extension>
<Input in1>
Module im_file
ReadFromLast true
SavePos false
File "C:\\中文\log.log"
</Input>
<Output out>
Module om_udp
Host 192.168.40.3
Port 514
</Output>
<Route 1>
Path in1 => out
</Route>流程
如果我们使用背景代码,我们将得到错误。检查服务器上的nxlog日志,发现以下错误
2020-11-26 10:13:02 ERROR failed to open C:\中文\log.log; Invalid argument
2020-11-26 10:13:04 ERROR apr_stat failed on file C:\中文\log.log; Invalid argument但是如果我们只使用英文字符串目录。一切都会好的。比如
define ROOT C:\Program Files (x86)\nxlog
define CERTDIR %ROOT%\cert
define CONFDIR %ROOT%\conf
define LOGDIR %ROOT%\data
define LOGFILE %LOGDIR%\nxlog.log
LogFile %LOGFILE%
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
<Extension _syslog>
Module xm_syslog
</Extension>
<Input in1>
Module im_file
ReadFromLast true
SavePos false
File "C:\\log.log"
</Input>
<Output out>
Module om_udp
Host 192.168.40.3
Port 514
</Output>
<Route 1>
Path in1 => out
</Route>问题
如何使nxlog在非英语字符串目录中收集日志?
加班
发布于 2020-12-08 03:55:16
确保conf文件代码为UTF-8。

https://stackoverflow.com/questions/65015304
复制相似问题