With version 2.1.2 we swapped the Name
and Level
input terminals of the Create UserEventHandler
method to align it with the other Handler classes. Unfortunately, this introduces a breaking change in the HSE Logger API and breaks existent code that use the UserEventHandler
class. Luckily, all you have to do is to switch the “Name” and “Level” wires for the Create UserEventHandler
method (see example below).
⤋ Fix the broken code by switching the input wires. ⤋
With v2.1.0 we introduced the Formatter classes to give the developer an easy tool to affect how Handler classes format their string output. But as so often in software development, we made a few mistakes in the first version and fixed them with version 2.1.2. One of these mistakes was to give the Handler base class (Handler.lvclass
) a Formatter property and Set/Get Formatter
methods, despite the fact that there are Handler classes which have no usage for a Formatter object (like the UserEventHandler
class). In our strive for clean code, we decided to remove the Formatter
object and related methods from the base class and include them only in classes that actually can use them (e.g. FileHandler
).
A second issue in version 2.1.0 was, that the “Handler Create” methods had no Formatter
input terminal. This led to the fact that one has to use the Set Formatter
method to set a custom Formatter object for a Handler. With the update to version 2.1.2 we moved the Setter/Getter methods and LabVIEW can't find the Set Formatter
method anymore, the code is broken. To fix this for the FileHandler
class, you have to relink the missing VI with the FileHandler.lvclass:Set Formatter.vi
method. For the UserEventHandler
class, you have to remove the Set Formatter
method from the block diagram because the class no longer has a Formatter
property (makes no sense for this class).
The recommended way to use Formatter objects with Handlers from version 2.1.2 onwards is to use the Formatter
input terminal in the respective “Create Handler” methods. Only “Create” methods from Handler classes which support Formatters
have this input terminal. See the Logging with Helper-VIs.vi
example.