03 FAQ
What is the minumum LabVIEW version?
Minimum LabVIEW version required is 2016
I can't see the most recent log entries when I open the log file while my app is running. What's going on?
The “FileHandler” class writes every log entry to disk, but holds the log file open and executes a “Flush” command only with a minimum rate of 5 seconds (default) and only with a new log entry. This behavior was implemented to improve the performance when a lot of log entries occur very fast. You can configure the flush timeout by providing a time in seconds to the Flush Timeout (5 s)
terminal of the “Create FileHandler” method. With a value of 0 (zero), the “FileHandler” directly flushes every log entry.
The Upgrade to v2.x breaks the API. What do I have to do to fix this?
Version 2 of the HSE Logger introduces Create
methods for the log handlers. These wrap the now-private Init
methods. This is due to our efforts towards standardising on „constructors“ for our classes in LabVIEW.
To upgrade an existing project from v1.x to v2.x, the Init
method needs to be replaced with the Create
method (the class constant is obsolete, too):
My code is not runnable after update to v2.1.2. What do I have to do to fix this?
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. ⤋
LabVIEW can't find the "Set Formatter" VI after an update from v2.1.0 to v2.1.2.
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.