Contents
Introduction
To simplify and enhance the troubleshooting process, three new features are introduced.
- Error-handling process standardized
A new error coding mechanism is designed and implemented to help customers report issues substantiated by an error code. The error code helps determine the severity, origin, source, area, module, and sub-module of the error. ExceptionHandler attribute is introduced, which will have following Origin, Area, Module, Sub Module in the form of code. When an error occurs, the error code is displayed on the error message, see the screenshot below. (ExceptionHandler attribute is introduced, which will have following Origin, Area, Module, Sub Module in the form of code.)
2. AppInSight mapping with Kibana for Error Handling
Mapping of AppInsight and Kibana – This will allow tracking of web requests using a single correlation ID, enhancing error handling efficiency and request tracking efficiency.
- Centralized code for Lap timers for each method
Configuration
After enabling AppInsight, its operation ID is mapped with ICI Correlation ID. This correlation ID can be used to track ICI web requests, in ICI and AppInsights logs. Same correlation ID is maintained from request start to end.
Enabling Standardizing Error handling
By default, ExceptionHandler attribute is always enabled. If user needs to backtrack older entries of exceptions, they can set this attribute to false.
Update System_DB_Settings
Set [value] ='{"EnableLaptimer":false,"EnableExceptionHandler":true,"LogParametersOnException":false}'
where [key] = 'Core.Aspects.Configuration'
Enabling AppInsight and Kibana mapping
AppInsight is always enabled.
User can check Tenant Config key: Core.APMProviderDetails for AppInsight feature running.
Enabling Lap Timer
Statistics log is provided to analyze time spent on executing each method. Lap timer can be enabled to help analyzing performance and to help error handling.
By default, Lap Timer is disabled, user can enable this feature by changing two config key LoggingVerbosity = "LogAlways" and updating EnableLaptimer = "true" in database key named "'Core.Aspects.Configuration".