Application Telemetry and Audit Logging
Brief Connect logs key application events to Azure Application Insights for auditing and troubleshooting purposes. This telemetry provides visibility into user actions and system activity, supporting both operational monitoring and compliance requirements.
Accessing Application Insights
Application Insights is a service that provides monitoring and analytics for Brief Connect. It helps track performance, availability, usage, and errors. To access Application Insights:
- Log in to the Azure portal and navigate to the resource group BriefConnect-DEV (or other target environments).
- Select the App Insights resource BriefConnectDEV-AI from the list of resources.
- On the overview page, you can see various metrics and charts that show the health and activity of the app. You can also customize the dashboard by adding or removing tiles, changing the time range, or applying filters.
- To view the detailed logs, click on Logs from the left menu. This will open a query editor where you can write and run queries using the Kusto Query Language (KQL).

Audit Model
The application uses a structured audit model to capture significant user and system events.
Event Types
| Event Type | Description |
|---|---|
| UserLogin | User signed in to the application |
| UserLogout | User signed out from the application |
| UserCreatedRecord | User created a new record (including Copy and Superseded) |
| UserUpdatedRecord | User updated an existing record |
| UserAccessedRecord | User viewed a record |
| UserUpdatedRecordAudit | User added comment to record audit |
| UserAccessedRecordAudit | User viewed the audit trail for a record |
| UserExportedRecordAudit | User exported the audit trail for a record in CSV |
| UserRequestedPdfPack | User requested a PDF pack for a record |
| UserRequestedExportPdfPack | User requested export of multiple records as a PDF pack. Separate event logged registered for each record. |
| UserUpdatedUserSettings | User changed their personal settings |
| UserAccessedRecordDocuments | User loaded a list of documents attached to a record |
Telemetry Data Structure
All application audit events logged to customEvents table in Application Insights.
Table Columns available in Azure Application Insights customEvents table
| Column Name | Description |
|---|---|
| timestamp | The date and time when the event was logged |
| name | The name of the event type (e.g., UserLogin) |
| customDimensions | A dynamic object containing custom key-value pairs for the event (see below) |
| customDimensions.UserId | The unique identifier of the user performing the action |
| customDimensions.RecordId | The identifier of the affected record (if applicable) |
| customMeasurements | A dynamic object containing custom numeric measurements for the event |
| operation_Id | The unique identifier for the operation |
| operation_Name | The name of the operation |
| cloud_RoleName | The role name of the cloud service |
| user_Id | The identifier of the user (if available) |
| session_Id | The identifier of the session |
| appId | The Application Insights application ID |
| appName | The name of the application |
| client_Type | The type of client (e.g., Browser, PC) |
| client_Browser | The browser used (if applicable) |
| client_Model | The device model (if applicable) |
| client_OS | The operating system of the client |
| _ResourceId | The Azure resource ID |
| _SubscriptionId | The Azure subscription ID |
These columns provide detailed context for each audit event and support advanced querying and analysis.
Storage and Retention
All telemetry events are sent to Azure Application Insights, where they are stored and can be queried for monitoring, troubleshooting, and audit purposes. Retention policies are managed in Azure and can be adjusted to meet compliance requirements.
Querying Logs
Audit logs can be accessed via the Azure Portal using Application Insights Analytics (Kusto Query Language). This enables administrators to review user activity, investigate issues, and support compliance audits.
Querying Audit Events
Example KQL query to load audit events:
customEvents
| project timestamp, EventName = name, UserId = customDimensions.UserId, RecordId = customDimensions.RecordId

Querying Application Traces
You can use the traces table to view regular log records. For example, to see traces from the last 24 hours:
traces
| where timestamp > ago(24h)
| order by timestamp desc
Querying Exceptions
You can use the exceptions table to view exceptions that occurred in the application. For example, to see exceptions from the last 24 hours:
exceptions
| where timestamp > ago(24h)
| order by timestamp desc
Additional Query Options
You can also use other tables and functions to query different aspects of the application, such as:
- requests - HTTP requests and their performance
- dependencies - External service calls and dependencies
- customEvents - Custom application events (including audit events)
- availabilityResults - Availability test results
For more information about the schema and syntax of App Insights queries, see: https://docs.microsoft.com/en-us/azure/azure-monitor/log-query/log-query-overview
To debug a specific issue or scenario, you can use the search feature to find and filter relevant events across all tables. You can also use the application map to visualize the dependencies and failures of the app. For more information about troubleshooting with App Insights, see: https://docs.microsoft.com/en-us/azure/azure-monitor/app/app-insights-troubleshoot-faq