151 lines
3.0 KiB
JSON
151 lines
3.0 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://khadhroony.local/schema/logging.config.schema.json",
|
|
"title": "Khadhroony Solana logging configuration",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"active_profile",
|
|
"profiles"
|
|
],
|
|
"properties": {
|
|
"active_profile": {
|
|
"$ref": "#/$defs/non_empty_string"
|
|
},
|
|
"profiles": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"$ref": "#/$defs/logging_profile"
|
|
}
|
|
}
|
|
},
|
|
"$defs": {
|
|
"non_empty_string": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"log_level": {
|
|
"type": "string",
|
|
"enum": [
|
|
"trace",
|
|
"debug",
|
|
"info",
|
|
"warn",
|
|
"error",
|
|
"off"
|
|
]
|
|
},
|
|
"logging_profile": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"name",
|
|
"default_level",
|
|
"targets",
|
|
"target_filters"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"$ref": "#/$defs/non_empty_string"
|
|
},
|
|
"default_level": {
|
|
"$ref": "#/$defs/log_level"
|
|
},
|
|
"targets": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"$ref": "#/$defs/log_target"
|
|
}
|
|
},
|
|
"target_filters": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/log_target_filter"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"log_target": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"name",
|
|
"enabled",
|
|
"sink",
|
|
"level",
|
|
"path",
|
|
"rotation",
|
|
"format",
|
|
"ansi",
|
|
"targets"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"$ref": "#/$defs/non_empty_string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"sink": {
|
|
"type": "string",
|
|
"enum": [
|
|
"console",
|
|
"file"
|
|
]
|
|
},
|
|
"level": {
|
|
"$ref": "#/$defs/log_level"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"rotation": {
|
|
"type": "string",
|
|
"enum": [
|
|
"none",
|
|
"never",
|
|
"daily",
|
|
"hourly"
|
|
]
|
|
},
|
|
"format": {
|
|
"type": "string",
|
|
"enum": [
|
|
"human",
|
|
"compact",
|
|
"pretty",
|
|
"json"
|
|
]
|
|
},
|
|
"ansi": {
|
|
"type": "boolean"
|
|
},
|
|
"targets": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/non_empty_string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"log_target_filter": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"target",
|
|
"level"
|
|
],
|
|
"properties": {
|
|
"target": {
|
|
"$ref": "#/$defs/non_empty_string"
|
|
},
|
|
"level": {
|
|
"$ref": "#/$defs/log_level"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|