Data Manager Logging UI
IntroductionData Manager has a powerful logging engine that can be configured via a UI. This UI is running on port
8840by default. You can access it by opening a browser and going to
http://127.0.0.1:8840. Currently we have 5 plugins:
How does it work?The UI consists out of columns. The first column that you see is the Plugin Types column, this is the list that is described above.
Figure 1If you click on them, it will show a new column with all the names of that plugin (this column is called Plugin Name). In front of each Plugin Name there is a little circle. When the circle is grey the Plugin Name is inactive, when it is green, it is active.
Figure 2When you click on an Plugin Name, a new and last column will appear, the Properties column. All properties of that particular Plugin Name will be showed and can be edited. Some properties are the same for every plugin type: Active Boolean; It can be either True or False. Filter To only get log messages that you need, you can set filters. You can use several operators:
|= or ==||Equals|
|!= or <>||Not equals|
|>=||Greater than or equals|
|<=||Lower than or equals|
|STARTSWITH||Filter on records that start with the string after the operator|
|ENDSWITH||Filter on records that end with the string after the operator|
|CONTAINS||Filter on records that contain the string after the operator|
|NOT||Filter on records that is not a specific value|
|IN ()||Same logic as in SQL. A comma-separated list can be given to match multiple values. (Note the brackets after IN) E.g. Category IN ('Workflow', 'Solution') will result in records where the Category is either Workflow or Solution.|
You can combine filters by using the following operators (they speak for themselves):
An example filter would be:
The example above will show log messages where the TraceKey of the log message is equals to WFE_ADDNOTIFICATION and the Msg of the log message contains PreparingWorkflow. Like in math, it's also possible to wrap brackets around conditions to give them priority. Format This will be the format of the log message. You can set certain variables in this log message like this: $(TraceKey). A list of all variables can be found in the package: S4M_DM\Trace\Data\Config\available_fields.txt. Plugin Name The name of the plugin instance. This needs to be unique per Plugin Type. The rest of the parameters are explained on individual pages:
TraceKey = 'WFE_ADDNOTIFICATION' AND Msg CONTAINS 'PreparingWorkflow'
ButtonsDepending on what plugin type you have selected, you have 2 or 3 buttons available in the Properties column. Save and Delete are both always visible. Save When the Save button is clicked, the properties in the form will be saved. After the save, the new properties have directly taken effect. No restart of services is needed. Delete When clicked, you will be asked for confirmation. This deletes the selected plugin name. If you have the Plugin Type LogFile or Database selected, there will be another button called: Save & Reload When clicked, it will do the same as the Save button, except that it will rebuild the existing log with the current parameters. This is especially handy when you need to back trace a certain error, you will not have to trigger the same error to generate the new error.
Enabled and Disabled PropertiesEvery property can be enabled or disabled by setting the dropdown box next to the property. This can be handy if you want to check something quickly without having to empty the value of the property.
Adding a new Plugin NameIn the upper right corner of the Plugin Name column you can find a plus icon. When you click that icon, a new Plugin Name will be created, the properties of that new instance are showed on the screen and you can adjust them to your needs. Save it when done and it will appear in the Plugin Name column. NOTE: The name of the Plugin Name itself needs to be unique per Plugin Type.
TraceMatrix.csvThe TraceMatrix.csv is found in
S4M_DM\Data\Config. This file contains several columns that in essence define what is logged throughout Data Manager. At the moment of writing, it contains 6 columns: * The AF Name definition used below stands for Available Fields Name and refers to the name in available_fields.txt. This name can be used as a variable in parameters.txt.
- This is a unique id for a tracepoint. AF Name: TraceID.
- This is the name of the ID. It is a unique name to describe the log message. AF Name: TraceKey.
- The category from where the log message originated. AF Name: Category.
- The severity level of the log message. AF Name: Level.
- The human readable message that the log outputs. AF Name: Msg.
- You can specify certain names to parameters used in the Template column that you can then use as variable.
Clear the log storeIt is possible to clear the entire log store. This means that the complete log history will be deleted. It could be handy in some cases to start with a clean log slate. To clear the log store, follow the following steps:
- Stop the following services (This could take a while, make sure they're actually not running anymore):
- S4M Trace Server
- S4M Plugin Manager
- Delete the Trace Store folder:
- Start the services you just stopped.
GenericWSWith the new logging system comes a new checkbox in GenericWS; the Trace communication checkbox. When checked, the request and response body of a REST or SOAP call are also logged. NOTE: This is a separate logging track and does not interfere with the existing SOAP logging.
Plugin Manager loggingThe Plugin Manager handles all defined plugins. When something goes wrong with the service, it will log the errors to
S4M_DM\Trace\Data\PluginManager.log. This includes when plugins are configured incorrectly. If plugins do not work, please check the PluginManager.log to see if it's incorrectly configured.