![]() | Log Checker History |
This chapter deals with CheckerHistoryLoggers. CheckerHistoryLoggers log the results of other Checkers.
A CheckerHistoryLogger creates log files for the results of any checker. The CheckerHistoryLogger is itself defined as a checker in the job and in turn calls the actual checker, whose name was passed in the parameters, as a Sub-Checker.
The CheckerHistoryLogger then creates a log file with historical values of the sub-checker or supplements an existing log file with the currently determined values.
![]() |
---|
The dll of the sub-checker must be located in the Plugin directory of the current Job (including the assemblies referenced there). |
![]() |
---|
The log files of the CheckerHistoryLogger can be found in the SnapshotDirectory of the current Job. |
This is what the demo job CheckWeatherHistory for the CheckerHistoryLogger looks like in operation:
And this is the corresponding JobDescription.xml:
<?xml version="1.0" encoding="utf-8"?> <JobDescription> <LogicalName>Check Weather History</LogicalName> <LogicalExpression>IS WeatherHistory</LogicalExpression> <Checkers type="array"> <Checker> <LogicalName>WeatherHistory</LogicalName> <UserControlPath>Plugin\WeatherCheckerControl.dll</UserControlPath> <PhysicalPath>CheckerHistoryLogger.dll</PhysicalPath> <Parameters> <![CDATA[quiet|WeatherChecker.dll|creates weather forecasts]]> </Parameters> <Trigger> <PhysicalPath>TimerTrigger.dll</PhysicalPath> <Parameters>M:60</Parameters> </Trigger> </Checker> </Checkers> </JobDescription>
The WeatherChecker.dll called by CheckerHistoryLogger retrieves weather forecasts for the current day and the following days at intervals of three hours each and displays them clearly in the WeatherCheckerControl.dll user control.
![]() |
---|
Internet access is required for this demo program. Many thanks to the team at open-meteo.com: https://open-meteo.com and also to Chenzhou Cui and his friends: https://www.7timer.info. Many thanks also to the developers and sponsors of the free geolocation sites: https://www.geojs.io/ and http://ip-api.com/. |
Here you can see the logging output of the demo project:
You can find the log file in the SnapshotDirectory of the current Job with the name of the sub-checker in lower case and the extension ".log", in this example: %SnapshotDirectory%/CheckWeatherHistory/weatherchecker.log
... 29.10.22 10:24:22,631 True - civil, 2022102900, 3, 9, 6, none, 0, 16, 77%, S, 2, cloudynight 6, 9, 6, none, 0, 16, 79%, SE, 2, cloudynight 9, 9, 6, none, 0, 17, 69%, SE, 3, cloudyday 12, 9, 2, none, 0, 21, 55%, S, 2, cloudyday 15, 9, -1, none, 0, 21, 61%, SE, 2, cloudyday 18, 9, 2, none, 0, 20, 68%, SE, 3, cloudynight 21, 9, 2, none, 0, 20, 62%, SE, 3, cloudynight 24, 8, 2, none, 0, 17, 72%, S, 2, cloudynight 27, 8, 6, none, 0, 15, 70%, S, 2, cloudynight 30, 9, 6, none, 0, 14, 75%, SE, 2, cloudynight 33, 9, 6, none, 0, 17, 63%, S, 2, cloudyday 36, 9, 2, none, 0, 21, 53%, S, 2, cloudyday 39, 9, 2, none, 0, 21, 56%, SE, 2, cloudyday 42, 9, 2, none, 0, 17, 68%, SW, 2, cloudynight 45, 6, 6, none, 0, 16, 72%, SW, 2, mcloudynight 48, 7, 6, none, 0, 14, 79%, W, 2, mcloudynight 51, 9, 6, none, 0, 14, 82%, W, 2, cloudynight 54, 9, 6, none, 0, 13, 85%, SW, 2, cloudynight 57, 9, 6, none, 0, 15, 75%, SE, 2, cloudyday 60, 9, 2, none, 0, 17, 63%, SE, 2, cloudyday 63, 8, 2, none, 0, 18, 70%, SE, 2, cloudyday 66, 8, 2, none, 0, 16, 76%, SE, 2, cloudynight 69, 3, 6, none, 0, 15, 79%, SE, 3, pcloudynight 72, 4, 6, none, 0, 14, 80%, SE, 3, pcloudynight 75, 9, 6, none, 0, 14, 80%, SE, 3, cloudynight 78, 9, 6, none, 1, 14, 90%, SE, 3, cloudynight 81, 9, 2rain, 1, 15, 82%, SW, 3, lightrainday 84, 9, 2rain, 2, 16, 81%, SW, 3, lightrainday 87, 9, -1rain, 3, 14, 87%, SW, 2, lightrainday 90, 8, 2rain, 3, 13, 85%, SW, 2, lightrainnight 93, 1, 2, none, 3, 12, 90%, SW, 3, clearnight 96, 2, 2, none, 3, 12, 80%, SW, 3, clearnight 99, 5, 2, none, 3, 11, 80%, SW, 3, pcloudynight 102, 5, 2, none, 3, 10, 78%, SW, 3, pcloudynight 105, 7, 2rain, 3, 12, 75%, SW, 3, oshowerday 108, 6, 2rain, 3, 14, 61%, SW, 3, oshowerday 111, 9, 6rain, 3, 14, 61%, SW, 3, lightrainday 114, 9, 6rain, 3, 12, 62%, S, 2, lightrainnight 117, 8, 6, none, 3, 11, 78%, S, 2, cloudynight 120, 9, 10, none, 3, 10, 76%, S, 3, cloudynight 123, 9, 15, none, 3, 10, 77%, S, 3, cloudynight 126, 9, 10, none, 3, 10, 75%, S, 3, cloudynight 129, 9, 6, none, 3, 13, 69%, S, 3, cloudyday 132, 9, 2, none, 3, 15, 58%, S, 3, cloudyday 135, 9, 2rain, 3, 14, 59%, SW, 3, lightrainday 138, 9, 6rain, 3, 9, 86%, SW, 3, lightrainnight 141, 9, 2rain, 3, 9, 82%, SW, 3, lightrainnight 144, 9, -1rain, 3, 8, 85%, W, 3, lightrainnight 147, 2, 2rain, 3, 7, 86%, W, 3, ishowernight 150, 3, 2rain, 3, 6, 92%, SW, 2, ishowernight 153, 3, 2, none, 3, 8, 84%, W, 3, pcloudyday 156, 2, 2, none, 3, 11, 66%, W, 3, clearday 159, 2, 2rain, 3, 11, 74%, NW, 2, ishowerday 162, 3, 6rain, 3, 9, 82%, W, 2, ishowernight 165, 4, 10, none, 3, 8, 86%, SW, 2, pcloudynight 168, 5, 15, none, 3, 7, 93%, S, 2, humidnight 171, 7, 15, none, 3, 6, 91%, S, 2, mcloudynight 174, 6, 15, none, 3, 6, 94%, S, 2, mcloudynight 177, 9, 15, none, 3, 8, 80%, S, 3, cloudyday 180, 9, 15, none, 3, 11, 54%, S, 3, cloudyday 183, 9, 15, none, 3, 12, 50%, S, 3, cloudyday 186, 9, 15, none, 3, 10, 65%, S, 3, cloudynight 189, 9, 15, none, 3, 9, 68%, S, 3, cloudynight 192, 9, 15, none, 3, 9, 65%, S, 3, cloudynight 29.10.22 11:24:22,444 True - civil, 2022102900, 3, 9, 6, none, 0, 16, 77%, S, 2, cloudynight 6, 9, 6, none, 0, 16, 79%, SE, 2, cloudynight 9, 9, 6, none, 0, 17, 69%, SE, 3, cloudyday 12, 9, 2, none, 0, 21, 55%, S, 2, cloudyday 15, 9, -1, none, 0, 21, 61%, SE, 2, cloudyday 18, 9, 2, none, 0, 20, 68%, SE, 3, cloudynight 21, 9, 2, none, 0, 20, 62%, SE, 3, cloudynight 24, 8, 2, none, 0, 17, 72%, S, 2, cloudynight 27, 8, 6, none, 0, 15, 70%, S, 2, cloudynight 30, 9, 6, none, 0, 14, 75%, SE, 2, cloudynight 33, 9, 6, none, 0, 17, 63%, S, 2, cloudyday 36, 9, 2, none, 0, 21, 53%, S, 2, cloudyday 39, 9, 2, none, 0, 21, 56%, SE, 2, cloudyday 42, 9, 2, none, 0, 17, 68%, SW, 2, cloudynight 45, 6, 6, none, 0, 16, 72%, SW, 2, mcloudynight 48, 7, 6, none, 0, 14, 79%, W, 2, mcloudynight 51, 9, 6, none, 0, 14, 82%, W, 2, cloudynight 54, 9, 6, none, 0, 13, 85%, SW, 2, cloudynight 57, 9, 6, none, 0, 15, 75%, SE, 2, cloudyday 60, 9, 2, none, 0, 17, 63%, SE, 2, cloudyday 63, 8, 2, none, 0, 18, 70%, SE, 2, cloudyday 66, 8, 2, none, 0, 16, 76%, SE, 2, cloudynight 69, 3, 6, none, 0, 15, 79%, SE, 3, pcloudynight 72, 4, 6, none, 0, 14, 80%, SE, 3, pcloudynight 75, 9, 6, none, 0, 14, 80%, SE, 3, cloudynight 78, 9, 6, none, 1, 14, 90%, SE, 3, cloudynight 81, 9, 2rain, 1, 15, 82%, SW, 3, lightrainday 84, 9, 2rain, 2, 16, 81%, SW, 3, lightrainday 87, 9, -1rain, 3, 14, 87%, SW, 2, lightrainday 90, 8, 2rain, 3, 13, 85%, SW, 2, lightrainnight 93, 1, 2, none, 3, 12, 90%, SW, 3, clearnight 96, 2, 2, none, 3, 12, 80%, SW, 3, clearnight 99, 5, 2, none, 3, 11, 80%, SW, 3, pcloudynight 102, 5, 2, none, 3, 10, 78%, SW, 3, pcloudynight 105, 7, 2rain, 3, 12, 75%, SW, 3, oshowerday 108, 6, 2rain, 3, 14, 61%, SW, 3, oshowerday 111, 9, 6rain, 3, 14, 61%, SW, 3, lightrainday 114, 9, 6rain, 3, 12, 62%, S, 2, lightrainnight 117, 8, 6, none, 3, 11, 78%, S, 2, cloudynight 120, 9, 10, none, 3, 10, 76%, S, 3, cloudynight 123, 9, 15, none, 3, 10, 77%, S, 3, cloudynight 126, 9, 10, none, 3, 10, 75%, S, 3, cloudynight 129, 9, 6, none, 3, 13, 69%, S, 3, cloudyday 132, 9, 2, none, 3, 15, 58%, S, 3, cloudyday 135, 9, 2rain, 3, 14, 59%, SW, 3, lightrainday 138, 9, 6rain, 3, 9, 86%, SW, 3, lightrainnight 141, 9, 2rain, 3, 9, 82%, SW, 3, lightrainnight 144, 9, -1rain, 3, 8, 85%, W, 3, lightrainnight 147, 2, 2rain, 3, 7, 86%, W, 3, ishowernight 150, 3, 2rain, 3, 6, 92%, SW, 2, ishowernight 153, 3, 2, none, 3, 8, 84%, W, 3, pcloudyday 156, 2, 2, none, 3, 11, 66%, W, 3, clearday 159, 2, 2rain, 3, 11, 74%, NW, 2, ishowerday 162, 3, 6rain, 3, 9, 82%, W, 2, ishowernight 165, 4, 10, none, 3, 8, 86%, SW, 2, pcloudynight 168, 5, 15, none, 3, 7, 93%, S, 2, humidnight 171, 7, 15, none, 3, 6, 91%, S, 2, mcloudynight 174, 6, 15, none, 3, 6, 94%, S, 2, mcloudynight 177, 9, 15, none, 3, 8, 80%, S, 3, cloudyday 180, 9, 15, none, 3, 11, 54%, S, 3, cloudyday 183, 9, 15, none, 3, 12, 50%, S, 3, cloudyday 186, 9, 15, none, 3, 10, 65%, S, 3, cloudynight 189, 9, 15, none, 3, 9, 68%, S, 3, cloudynight 192, 9, 15, none, 3, 9, 65%, S, 3, cloudynight 29.10.22 12:24:22,494 True - civil, 2022102900, 3, 9, 6, none, 0, 16, 77%, S, 2, cloudynight 6, 9, 6, none, 0, 16, 79%, SE, 2, cloudynight 9, 9, 6, none, 0, 17, 69%, SE, 3, cloudyday 12, 9, 2, none, 0, 21, 55%, S, 2, cloudyday 15, 9, -1, none, 0, 21, 61%, SE, 2, cloudyday 18, 9, 2, none, 0, 20, 68%, SE, 3, cloudynight 21, 9, 2, none, 0, 20, 62%, SE, 3, cloudynight 24, 8, 2, none, 0, 17, 72%, S, 2, cloudynight 27, 8, 6, none, 0, 15, 70%, S, 2, cloudynight 30, 9, 6, none, 0, 14, 75%, SE, 2, cloudynight 33, 9, 6, none, 0, 17, 63%, S, 2, cloudyday 36, 9, 2, none, 0, 21, 53%, S, 2, cloudyday 39, 9, 2, none, 0, 21, 56%, SE, 2, cloudyday 42, 9, 2, none, 0, 17, 68%, SW, 2, cloudynight 45, 6, 6, none, 0, 16, 72%, SW, 2, mcloudynight 48, 7, 6, none, 0, 14, 79%, W, 2, mcloudynight 51, 9, 6, none, 0, 14, 82%, W, 2, cloudynight 54, 9, 6, none, 0, 13, 85%, SW, 2, cloudynight 57, 9, 6, none, 0, 15, 75%, SE, 2, cloudyday 60, 9, 2, none, 0, 17, 63%, SE, 2, cloudyday 63, 8, 2, none, 0, 18, 70%, SE, 2, cloudyday 66, 8, 2, none, 0, 16, 76%, SE, 2, cloudynight 69, 3, 6, none, 0, 15, 79%, SE, 3, pcloudynight 72, 4, 6, none, 0, 14, 80%, SE, 3, pcloudynight 75, 9, 6, none, 0, 14, 80%, SE, 3, cloudynight 78, 9, 6, none, 1, 14, 90%, SE, 3, cloudynight 81, 9, 2rain, 1, 15, 82%, SW, 3, lightrainday 84, 9, 2rain, 2, 16, 81%, SW, 3, lightrainday 87, 9, -1rain, 3, 14, 87%, SW, 2, lightrainday 90, 8, 2rain, 3, 13, 85%, SW, 2, lightrainnight 93, 1, 2, none, 3, 12, 90%, SW, 3, clearnight 96, 2, 2, none, 3, 12, 80%, SW, 3, clearnight 99, 5, 2, none, 3, 11, 80%, SW, 3, pcloudynight 102, 5, 2, none, 3, 10, 78%, SW, 3, pcloudynight 105, 7, 2rain, 3, 12, 75%, SW, 3, oshowerday 108, 6, 2rain, 3, 14, 61%, SW, 3, oshowerday 111, 9, 6rain, 3, 14, 61%, SW, 3, lightrainday 114, 9, 6rain, 3, 12, 62%, S, 2, lightrainnight 117, 8, 6, none, 3, 11, 78%, S, 2, cloudynight 120, 9, 10, none, 3, 10, 76%, S, 3, cloudynight 123, 9, 15, none, 3, 10, 77%, S, 3, cloudynight 126, 9, 10, none, 3, 10, 75%, S, 3, cloudynight 129, 9, 6, none, 3, 13, 69%, S, 3, cloudyday 132, 9, 2, none, 3, 15, 58%, S, 3, cloudyday 135, 9, 2rain, 3, 14, 59%, SW, 3, lightrainday 138, 9, 6rain, 3, 9, 86%, SW, 3, lightrainnight 141, 9, 2rain, 3, 9, 82%, SW, 3, lightrainnight 144, 9, -1rain, 3, 8, 85%, W, 3, lightrainnight 147, 2, 2rain, 3, 7, 86%, W, 3, ishowernight 150, 3, 2rain, 3, 6, 92%, SW, 2, ishowernight 153, 3, 2, none, 3, 8, 84%, W, 3, pcloudyday 156, 2, 2, none, 3, 11, 66%, W, 3, clearday 159, 2, 2rain, 3, 11, 74%, NW, 2, ishowerday 162, 3, 6rain, 3, 9, 82%, W, 2, ishowernight 165, 4, 10, none, 3, 8, 86%, SW, 2, pcloudynight 168, 5, 15, none, 3, 7, 93%, S, 2, humidnight 171, 7, 15, none, 3, 6, 91%, S, 2, mcloudynight 174, 6, 15, none, 3, 6, 94%, S, 2, mcloudynight 177, 9, 15, none, 3, 8, 80%, S, 3, cloudyday 180, 9, 15, none, 3, 11, 54%, S, 3, cloudyday 183, 9, 15, none, 3, 12, 50%, S, 3, cloudyday 186, 9, 15, none, 3, 10, 65%, S, 3, cloudynight 189, 9, 15, none, 3, 9, 68%, S, 3, cloudynight 192, 9, 15, none, 3, 9, 65%, S, 3, cloudynight ...
![]() |
---|
The CheckerHistoryLogger used only works with ToString(), since the type of the concrete ReturnObject of the Sub-Checker is unknown to it. For more specific logging of the ReturnObject of the sub-checker, the class CheckerHistoryLogger may be derived and the virtual methods SetupSubCheckerResultsLogging, LogSubCheckerData und ReadHistory could be overwritten. |