# Application Gateway Access Log
Function Name: ApplicationGatewayAccessLog
```kusto
let ApplicationGatewayAccessLog = view() { AzureDiagnostics
| where Category == 'ApplicationGatewayAccessLog'
| project-keep TenantId,TimeGenerated,ResourceId,Category,ResourceGroup,SubscriptionId,ResourceProvider,Resource,ResourceType,OperationName,requestUri_s,userAgent_s,ruleName_s,httpMethod_s,instanceId_s,httpVersion_s,clientIP_s,host_s,requestQuery_s,sslEnabled_s,clientPort_d,httpStatus_d,receivedBytes_d,sentBytes_d,timeTaken_d,SourceSystem,timeStamp_t,listenerName_s,backendPoolName_s,backendSettingName_s,originalRequestUriWithArgs_s,clientResponseTime_d,WAFEvaluationTime_s,WAFMode_s,transactionId_g,sslCipher_s,sslProtocol_s,sslClientVerify_s,serverRouted_s,serverStatus_s,serverResponseLatency_s,upstreamSourcePort_s,originalHost_s,Type,_ResourceId
}; ApplicationGatewayAccessLog
```
# Application Gateway Firewall Log
Function Name: ApplicationGatewayFirewallLog
```kusto
let ApplicationGatewayFirewallLog = view() {
AzureDiagnostics
| where Category == 'ApplicationGatewayFirewallLog'
| project-keep TenantId,TimeGenerated,ResourceId,Category,ResourceGroup,SubscriptionId,ResourceProvider,Resource,ResourceType,OperationName,requestUri_s,Message,instanceId_s,SourceSystem,ruleSetVersion_s,site_s,details_message_s,details_file_s,details_line_s,clientIp_s,ruleSetType_s,ruleId_s,action_s,hostname_s,policyId_s,policyScope_s,policyScopeName_s,timeStamp_t,transactionId_g,Type,_ResourceId }; ApplicationGatewayFirewallLog
```
# Application Gateway Firewall Log with Joined Access Log
Function Name: ApplicationGatewayFirewallExtended
```kusto
let ApplicationGatewayFirewallExtended = view() {
ApplicationGatewayFirewallLog
| join kind=leftouter ApplicationGatewayAccessLog on transactionId_g, SubscriptionId
| project-away *1
}; ApplicationGatewayFirewallExtended
```