{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://schema.microsoft.azure.insights/schemas/common/2016-04-01/logs/common.json",
    "definitions": {
        "commonProperties": {
            "type": "object",
            "description": "The common properties for all the logs",
            "properties": {
                "time": {
                    "type": "string",
                    "description": "The timestamp (in UTC) of the log."
                },
                "resourceId": {
                    "type": "string",
                    "description": "The resource Id."
                },
                "operationName": {
                    "type": "string",
                    "description": "The operation name."
                },
                "operationVersion": {
                    "type": "string",
                    "description": "The operation version."
                },
                "category": {
                    "type": "string",
                    "description": "The log category."
                },
                "resultType": {
                    "type": "string",
                    "description": "The status of the operation."
                },
                "resultSignature": {
                    "type": "string",
                    "description": "The sub status of the operation."
                },
                "resultDescription": {
                    "type": "string",
                    "description": "The description of the operation."
                },
                "durationMs": {
                    "type": "number",
                    "minimum": 0,
                    "description": "The duration of the operation in milliseconds."
                },
                "callerIpAddress": {
                    "type": "string",
                    "description": "The caller IP address."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id of the log used to group together a set of related logs."
                },
                "identity": {
                    "type": "object",
                    "description": "The identity that generated the log.",
                    "properties": {
                        "claims": {
                            "type": "array",
                            "description": "The claims used to perform the operation."
                        }
                    }
                },
                "level": {
                    "type": "string",
                    "description": "The level of the log."
                },
                "location": {
                    "type": "string",
                    "description": "The location of the resource emitting the log."
                }
            },
            "required": [
                "time",
                "resourceId",
                "operationName",
                "category"
            ]
        }
    },
    "properties": {
        "commonProperties": {
            "$ref": "#/definitions/commonProperties"
        }
    },
    "required": [
        "commonProperties"
    ]
}