Advanced: Program Settings & Start-up | LabJack
« Close

Datasheets and User Guides

App Notes

Software & Driver

LabJack is closed November 26 and 27 for the Thanksgiving holiday.

Advanced: Program Settings & Start-up

LJLogM is a highly configurable program where all of its features and settings can be configured by editing its ".cfg" files for the desired start up state. The program's configurations are saved whenever the program exits and loads during LJLogM launch.

Multiple Instances

Method A

Due to the application being highly configurable, some customers may wish to use it in some advanced ways. One example of this is to launch multiple instances of the application in order to collect data from several T-Series devices at the same time. Data collection can not be synchronized across instances of LJLogM but each instance can be configured to collect data at the same rate.  The instances of LJLogM can be configured to save data to separate files and directories, and at high data rates this provides a fairly robust way to collect a large amount of data. This feature of LJLogM can be enabled by creating a ".ini" file in the same directory as the ".exe" (LabVIEW instructions):

Note: In order to run multiple instances of LJLogM.exe, the ".exe" can not be started from the default "C:\Program Files (x86)\LabJack\Applications" directory without administrative privileges.  The best way to run multiple instances of the application is to run it from a different directory where the application can create a .ini file that can be properly edited.

Method B

Another method for launching multiple instances of LJLogM in order to acquire data from multiple devices at the same time is to make multiple copies of the LJLogM.exe file.  The first time each program copy is started an "active" directory will need to be configured so that the program's configurations will be saved correctly.  This will allow each application to be started and automatically connect to a specified device with a specific configuration.  In short,

1. Make two copies of the LJLogM.exe:

LJLogM - Multiple Instances - Copies of exe files

2. Make two copies of the LJLogM.exe:

LJLogM - Multiple Instances - Created Program Config Files

Command Line Arguments

LJLogM can be configured to start with a specific working directory by passing a single command line parameter like the following:

> LJLogM.exe -- "C:\MyDirectory"
> LJLogM.exe -- "%CD%"
> "C:\Program Files (x86)\LabJack\Applications\LJLogM.exe" -- "%CD%"

After starting LJLogM with the command line argument, the "Program Settings" tab can be viewed again to see if the argument got properly parsed into the "CMD Arg1" field.

Default Working Directory

LJLogM has three primary configuration files, "LJLogM.cfg", "LJLogM_open.cfg", and "LJLogM_device_config.cfg" that can all be edited before the application starts. LJLogM also starts up and keeps track of a "Working Directory" which is where the ".cfg" files get generated and is also where log files are created. LJLogM saves this path to the Windows registry (viewable using Registry Editor) under: "HKEY_CURRENT_USER -> Software -> LabJack -> LJLogM -> workdir".

Application .cfg files


This is a fairly simple configuration file that defines the LJM open parameters.


This is another fairly simple configuration file that defines a list of registers to be written to the device upon connection.


This is a complex configuration file for LJLogM customization. If multiple logging sessions need to be utilized, it is best to use LJLogM to generate and save these configuration files. Once saved, move these files to their own individual directories, and then use the Command Prompt to launch LJLogM specifying the working directory argument, as mentioned in the Command Lines Arguments section.  Currently there is limited documentation on the LJLogM.cfg file, but if there is enough interest from users we can look into further documentation. A few tips are as follows.

  1. Values are organized into key-value pairs.  [key]=[value]
  2. Most of the [key]'s are easy to interpret as they relate directly to an associated GUI element., but not all.  LabJack may end up changing some of these keys as the program evolves.
  3. Keys that require arrays of data have values separated by the string "#!#" and end with a "#!#".
  4. Boolean values are "FALSE" or "TRUE".