It can be difficult to diagnose problems when an application is operating across multiple windows. Just using the Chromium debugger would require you to have many different debug windows open and mentally map the times of the logs. It’d be like trying to find an ant in a house of mirrors! The Central Logger is a unified place to view logs, with accurate timing, across all components and microservices.
The Central Logger is very configurable, offering many settings for your specific needs and individual preferences. The settings of the Central Logger persist between sessions. The Central Logger indicates how many log messages are being currently displayed out of the total captured, or since the last time messages were cleared. Due to resource consumption, the Logger will only capture the last 100,000 log messages with the oldest messages being discarded.
Important: If you are capturing many log levels from many clients (for example, while debugging), the performance of your Finsemble application may be affected. Once debugging is completed, it's best reduce the logging levels to their default state.
To bring up the Central Logger, click on the Finsemble icon in the top left corner of the toolbar and select "Central Logger" from the menu. The Central Logger is only available when the Finsemble is hosted from localhost.
On the left side of the Central Logger window there are two links: Logs and Conf. Clicking either of these links will change the active view. The Conf view is a fully parsed, searchable (CTR+F) config for your application. The Logs view is simply a list of all of the logs that are coming in from the system.
The quick views buttons provide a convenient way to toggle commonly used features on and off.
You can change the Central Logger's settings. You can set the logger to load at startup. You can set the logger to load when there's an error.
You have four filters to help you find and diagnose problems. At the top of this section are two boxes (AND and OR). This changes the logic for all of the boxes. These filters do not support regexes, but they do support negation.
To exclude a log, simply preface your search string with
-. For example, to leave out every log dealing with a toolbar, put
-toolbar into one of the filters. Negation filters don't follow compound logic. If a log has a negated string in it, that entire log will be filtered out of the view, even if it matches other filters.
The left area of the Central Logger displays a list of Finsemble logger clients (i.e., a newly created component or microservice). Click on the radio button next to client name to disable or enable that client's log capturing. When a client is terminated, they will no longer appear on the client list, but corresponding log entries will remain.
When multiple instances of a component belonging to a workspace can exist (e.g., many instances of a Salesforce window), Finsemble allocates a random ID to the name for uniqueness ("salesforceComponents-31-11566"). Otherwise, multiple components (e.g., a toolbar for each of your monitors) just have a counter for uniqueness (e.g., "searchMenu-Toolbar-2") Note: The client name "ChartIQ" refers to the Service Manager. It's rendered this way because of the way Finsemble is spun up.
Single-clicking a client name will bring up a Chrome Developer Tools window.
log.system.error), Warning, Log, Info, Debug, or Verbose messages.
The right area of the Central Logger displays the log messages generated by the clients. The log list consists of three columns. The left column details the timestamp—the time in milliseconds since the Finsemble application was started. Each timestamp is added when the corresponding log-function call is invoked, so it is accurate within the same client down to the microsecond range. However, timestamps must be calibrated by Finsemble for accuracy across component and service window boundaries (because of timer drift within Chromium), resulting in less precision when comparing timestamps across windows. Still, the timestamp is precise enough at the millisecond level to correctly order/sequence all log messages. The center column details the log message itself. The right column is the source (client) that captured the message. Single clicking the source will bring up a Chrome Developer Tools window.
For advanced information about the Central Logger, check out the Logger Client documentation.
For step by step instructions on generating log data for support from ChartIQ, check out Troubleshooting.
To learn more about debugging Finsemble so you can iterate more efficiently, read Debugging Finsemble.