butler
butler copied to clipboard
Incorrect filter in XML appender file for detecting successful app reloads
What version of Butler are you using?
12.4.2
What version of Node.js are you using? Not applicable if you use the standalone version of Butler.
No response
What command did you use to start Butler?
What operating system are you using?
What CPU architecture are you using?
What Qlik Sense versions are you using?
2024-May IR
Describe the Bug
The XML appender does not detect successful reloads as it used to. Could be that Sense's log output has changed in recent versions.
Currently the following is found in the scheduler log appender that ships with Butler:
<!-- Appender for detecting successful reload tasks -->
<appender name="ReloadTaskSuccessLogger" type="log4net.Appender.UdpAppender">
<filter type="log4net.Filter.StringMatchFilter">
<param name="stringToMatch" value="Reload complete" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<param name="remoteAddress" value="<IP of server where Butler is running>" />
<param name="remotePort" value="9998" />
<param name="encoding" value="utf-8" />
<layout type="log4net.Layout.PatternLayout">
<converter>
<param name="name" value="hostname" />
<param name="type" value="Qlik.Sense.Logging.log4net.Layout.Pattern.HostNamePatternConverter" />
</converter>
<param name="conversionpattern" value="/scheduler-reloadtask-success/;%hostname;%property{TaskName};%property{AppName};%property{User};%property{TaskId};%property{AppId};%date;%level;%property{ExecutionId};%message" />
</layout>
</appender>
<!-- Send message to Butler on reload task success -->
<logger name="System.Scheduler.Scheduler.Slave.Tasks.ReloadTask">
<appender-ref ref="ReloadTaskSuccessLogger" />
</logger>
Note the "stringToMatch" value of "Reload complete", which should appear in log entries from the "System.Scheduler.Scheduler.Slave.Tasks.ReloadTask". subsystem.
The problem is that this string does not appear there.
A better solution is to look for "Execution State Change to FinishedSuccess" as message from the "System.Scheduler.Scheduler.Master.Task.TaskSession" subsystem. This is confirmed to work with QSEoW 2024-May.
Expected Behavior
No response
To Reproduce
No response