Enable logging for functions
StackState Self-hosted v5.0.x
This page describes StackState version 5.0.
Only available for Linux installations of StackState.
For debugging purposes, it may be helpful to enable logging for a StackState function. You can add logging statements to functions and then use the StackState CLI to set the logging level for individual instances of a check function, event handler function, propagation function or view state configuration function. Log messages will be added to the StackState log file
stackstate.log
. It is not currently possible to enable logging for other function types.To enable logging for an instance of a function, use its ID to set a logging level in the
stac
CLI. Note that the function itself will have an ID and each instance of the function relating to a component or view in StackState will have a separate ID.- It is only possible to enable logging for functions running on a Linux installation of StackState.
- The logging level should be set using the ID for an instance of a function, not the ID of the function itself.
- The
stac
CLI is required to set the logging level. It is not possible to set the logging level of a function instance using the newsts
CLI.
- 1.Find the ID for the instance of the function that you want to enable logging for:
- 2.stac serverlog setlevel <id> DEBUG
After logging has been enabled for the function instance, monitor the
stackstate.log
using the function instance ID.tail -f stackstate.log | grep <id>
Logging statements can be added to StackState functions and monitored in the
stackstate.log
file. This is useful for debug purposes.- 1.Add a log statement in the function's code. For example:
log.info("message")
log.info(variable.toString())
- 2.
Retrieve the ID for a specific instance of a function:
The ID for a check or propagation on a specific component can be found in the StackState UI. These are the IDs for the component's instance of a check function or propagation function.
- 1.Select a component to open detailed information about it in the right panel Selection details tab.
- 2.Click on ... and select Show JSON.
- 3.Find the section for
"checks"
or"propagation"
. - 4.Find the check or propagation that you want to enable logging for and copy the value from the field
id
.

Show JSON
The ID for an event handler can be found using the StackState CLI. This is the ID for an instance of an event handler function.
- To list all event handlers, run the StackState CLI command below.
CLI: stac
CLI: sts (new)
stac graph list EventHandler
id type name description owned by manual last updated
--------------- ------------ ------------ ------------- ---------- -------- ------------------------
114118706410878 EventHandler demo_handler True Fri Nov 13 11:32:29 2020
⚠️ PLEASE NOTE - from StackState v5.0, the old
sts
CLI is called stac
.In a future release of StackState, the new
sts
CLI will fully replace the stac
CLI. It is advised to install the new sts
CLI and upgrade any installed instance of the old sts
CLI to stac
. For details see:sts settings list --type EventHandler
⚠️ PLEASE NOTE - from StackState v5.0, the old
sts
CLI has been renamed to stac
and there is a new sts
CLI. The command(s) provided here are for use with the new sts
CLI.Propagation function IDs can be found in the StackState UI. For details on how to do this, see the instructions for retrieving check function IDs.
The ID for a view health state configuration can be found using the StackState CLI. This is the ID for a view's instance of a view health state configuration function.
- Run the two StackState CLI commands below:
- 1.To return the IDs of all StackState views.
- 2.To retrieve the JSON for a specific view ID.
- Use the
viewHealthStateConfiguration
ID from the retrieved view JSON to enable logging for this instance of the view health state configuration function. In the example below, this would be39710412772194
.
CLI: stac
CLI: sts (new)
# get IDs of all views
stac graph list QueryView
id type name description owned by manual last updated
--------------- --------- ------------------------- ------------- ---------------------------- -------- ------------------------
9161801377514 QueryView Demo - Customer A - urn:stackpack:demo-stackpack False Fri Nov 13 16:24:38 2020
199988472830315 QueryView Demo - Customer B - urn:stackpack:demo-stackpack False Fri Nov 13 16:24:38 2020
278537340600843 QueryView Demo - Business Dashboard - urn:stackpack:demo-stackpack False Fri Nov 13 16:24:38 2020
# get the ID of the specified view's "viewHealthStateConfiguration"
# stac graph show-node <VIEW_ID>
sts graph show-node 9161801377514
{
"id":9161801377514,
"lastUpdateTimestamp":1605284678082,
"name":"Demo - Customer A",
"groupedByDomains":true,
"groupedByLayers":true,
"groupedByRelations":true,
"showIndirectRelations":true,
"showCause":"NONE",
"state":{
"id":212230744931364,
"lastUpdateTimestamp":1605284689666,
"state":"CLEAR",
"_type":"ViewHealthState"
},
"viewHealthStateConfiguration":{
"id":39710412772194,
"lastUpdateTimestamp":1605284678082,
"function":28286436254116,
"enabled":true,
...
⚠️ PLEASE NOTE - from StackState v5.0, the old
sts
CLI is called stac
.In a future release of StackState, the new
sts
CLI will fully replace the stac
CLI. It is advised to install the new sts
CLI and upgrade any installed instance of the old sts
CLI to stac
. For details see:# get IDs of all views
sts settings list --type QueryView
TYPE | ID | IDENTIFIER | NAME | OWNED BY | LAST UPDATED
QueryView | 165313710240823 | | Demo - Customer A | | Tue Jun 21 13:44:12 2022 CEST
QueryView | 26281716816873 | | Demo - Customer B | | Tue Jun 21 13:44:12 2022 CEST
QueryView | 184368967764989 | | Demo - Customer D | | Tue Jun 21 13:44:12 2022 CEST
# get the ID of the specified view's "viewHealthStateConfiguration"
sts settings describe --ids <VIEW_ID>
⚠️ PLEASE NOTE - from StackState v5.0, the old
sts
CLI has been renamed to stac
and there is a new sts
CLI. The command(s) provided here are for use with the new sts
CLI.Last modified 7mo ago