Nxlog не может собирать журналы в определенных каталогах

#windows-services #windows-server-2012-r2 #nxlog

#windows-services #windows-server-2012-r2 #nxlog

Вопрос:

Фон

Используйте nxlog для сбора журналов сервера win server 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%datanxlog.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%datanxlog.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 собирать журналы в неанглоязычном строковом каталоге?

OT

Ответ №1:

Убедитесь, что код файла conf имеет формат UTF-8 введите описание изображения здесь