2015-10-07 3 views
1

Я использую nxlog-ce для Windows Server 2012 R2.Повернуть файлы, созданные nxlog

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.

Любая помощь очень ценится. Спасибо!

ответ

3

Я думаю, проблема в том, что 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> 
+0

Это сработало! Большое спасибо! – JTBuchanan

Смежные вопросы