Skip to content
Last update: January 19, 2024

Log your Green-GO system

The Green-GO control application contains logging capabilities. This will create a CSV log file. A separate log file is created for each day. If a logfile was already created on the current date, the logs will be appended to that file. A maximum of 10 files will be kept by the application. This feature is available from Green-GO control 5.0.7

Creating the filter file

Any event can be logged to a csv file. To enable this, a filter.txt file needs to be created inside the logs folder inside the user data folder.

  • [ macOS] the Path for macOS : Macintosh HD\Users\<username>\Library\Application Support\green-go-control\logs
  • [ Windows] the path for windows C:\Users\<username>\AppData\Roaming\green-go-control\logs

filters

The filter file can be used to create one or more filter rules to reduce the amount of data that is logged It is advised to filter down the amount of events that are logged to prevent huge files to be created

each Property that changes has a specific path - usually pretty close related to the property name in Green-GO control. part of this path can be used to filter, an * can be used as wildcard to allow all paths with a particular supset of the filter string.

some examples

  • *Talk , will log all events where the talk state changes
  • *Talk*, will log also events where talkmode is changed
  • Users*, will log any changes on any of the properties of any user
  • Network*, will log all changes to network items
  • *Battery*, will log any battery related event

Example output

with an example filter.txt that looks like this:

Devices.*

This will log event which has Device in its path. An example of the resulting CSV can be found below (truncated, there is a lot of output with this filter):

Date Time Time zone Property path Value
16/01/2024 09:49:41 +01:00 Devices.0604E833.parent.deviceType 776
16/01/2024 09:49:41 +01:00 Devices.0604E833.parent.port 4
16/01/2024 09:49:41 +01:00 Devices.0604E833.parent.id 0204E833
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.ScriptSettings.status 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.ScriptSettings.Id 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Output2.Nc 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Output2.Value 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Output2.Function 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Output1.Nc 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Output1.Value 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Output1.Function 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Input2.Nc 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Input2.Value 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Input2.Function 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Input1.Nc 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Input1.Value 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.Gpio.Input1.Function 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.AudioProfile.1.MainLevel {"Value":0, "min":-40, "max":12}
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.AudioProfile.1.OutputLimiter 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.AudioProfile.1.GateHold 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.AudioProfile.1.GateThreshold 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.AudioProfile.1.Compressor 0
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.AudioProfile.1.Gain {"Value":0, "min":0, "max":0}
16/01/2024 09:49:41 +01:00 Devices.0604E833.DeviceProfile.AudioProfile.1.SideTone {"Value":0, "min":-40, "max":0}

You can also filter lines for a specific device if you know the device id, with a filter like this

*0504E833*

or if you only want properties coming from Devices

Devices.0504E833*

which results in the following output (again, truncated)

Date Time Time zone Property path Value
16/01/2024 09:53:09 +01:00 Devices.0504E833.parent.deviceType 776
16/01/2024 09:53:09 +01:00 Devices.0504E833.parent.port 3
16/01/2024 09:53:09 +01:00 Devices.0504E833.parent.id 0204E833
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.ScriptSettings.status 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.ScriptSettings.Id 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Output2.Nc 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Output2.Value 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Output2.Function 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Output1.Nc 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Output1.Value 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Output1.Function 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Input2.Nc 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Input2.Value 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Input2.Function 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Input1.Nc 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Input1.Value 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.Gpio.Input1.Function 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.AudioProfile.1.MainLevel {"Value":0, "min":-40, "max":12}
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.AudioProfile.1.OutputLimiter 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.AudioProfile.1.GateHold 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.AudioProfile.1.GateThreshold 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.AudioProfile.1.Compressor 0
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.AudioProfile.1.Gain {"Value":0, "min":0, "max":0}
16/01/2024 09:53:09 +01:00 Devices.0504E833.DeviceProfile.AudioProfile.1.SideTone {"Value":0, "min":-40, "max":0}

Written by: Henk-Jan Blok