2025-03-02 20:13:32 +01:00
|
|
|
{
|
|
|
|
"version": 1,
|
|
|
|
"disable_existing_loggers": false,
|
|
|
|
"formatters": {
|
|
|
|
"simple": {
|
|
|
|
"format": "%(levelname)s - %(message)s"
|
|
|
|
},
|
|
|
|
"rich": {
|
|
|
|
"format": "%(message)s"
|
|
|
|
},
|
|
|
|
"json": {
|
|
|
|
"()": "logging_json_formatter.JSONFormatter",
|
|
|
|
"fmt_keys": {
|
|
|
|
"level": "levelname",
|
|
|
|
"message": "message",
|
|
|
|
"timestamp": "timestamp",
|
|
|
|
"logger": "name",
|
|
|
|
"module": "module",
|
|
|
|
"function": "funcName",
|
|
|
|
"line": "lineno",
|
|
|
|
"thread_name": "threadName"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"handlers": {
|
|
|
|
"rich": {
|
|
|
|
"class": "rich.logging.RichHandler",
|
2025-03-02 20:32:06 +01:00
|
|
|
"level": "DEBUG",
|
2025-03-02 20:13:32 +01:00
|
|
|
"formatter": "rich",
|
|
|
|
"log_time_format": "[%Y-%m-%dT%H:%M:%S]"
|
|
|
|
},
|
|
|
|
"file": {
|
|
|
|
"class": "logging.handlers.RotatingFileHandler",
|
|
|
|
"level": "DEBUG",
|
|
|
|
"filename": "logs/vm_management.jsonl",
|
|
|
|
"formatter": "json",
|
|
|
|
"maxBytes": 10000,
|
|
|
|
"backupCount": 3
|
2025-03-02 20:28:37 +01:00
|
|
|
},
|
|
|
|
"queue_handler": {
|
|
|
|
"class": "logging.handlers.QueueHandler",
|
|
|
|
"handlers": [
|
|
|
|
"rich",
|
|
|
|
"file"
|
|
|
|
],
|
|
|
|
"respect_handler_level": true
|
2025-03-02 20:13:32 +01:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"loggers": {
|
|
|
|
"root": {
|
|
|
|
"handlers": [
|
2025-03-02 20:28:37 +01:00
|
|
|
"queue_handler"
|
2025-03-02 20:13:32 +01:00
|
|
|
],
|
|
|
|
"level": "DEBUG"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|