mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
add logging
This commit is contained in:
parent
7c2e029f6d
commit
710cdd878a
1 changed files with 70 additions and 6 deletions
|
@ -1,21 +1,24 @@
|
|||
import logging
|
||||
from rich.logging import RichHandler
|
||||
import os
|
||||
from yunohost.interface import Interface
|
||||
from yunohost.user import user, group, permission
|
||||
|
||||
from moulinette import m18n
|
||||
from moulinette.interfaces.cli import get_locale
|
||||
from moulinette.utils.log import configure_logging
|
||||
|
||||
|
||||
def create_cli_interface():
|
||||
init_i18n()
|
||||
init_logging(interface="cli")
|
||||
|
||||
from yunohost.user import user, group, permission
|
||||
from yunohost.log import log
|
||||
|
||||
app = Interface(root=True)
|
||||
|
||||
user.add(group)
|
||||
user.add(permission)
|
||||
app.add(user)
|
||||
app.add(log)
|
||||
|
||||
return app.instance
|
||||
|
||||
|
@ -24,6 +27,9 @@ def create_api_interface():
|
|||
init_i18n()
|
||||
init_logging(interface="cli")
|
||||
|
||||
from yunohost.user import user, group, permission
|
||||
from yunohost.log import log
|
||||
|
||||
app = Interface(root=True)
|
||||
# Intermediate router to have distincts categories in swagger
|
||||
user_sub = Interface(prefix="/users")
|
||||
|
@ -31,6 +37,7 @@ def create_api_interface():
|
|||
user_sub.add(group)
|
||||
user_sub.add(permission)
|
||||
app.add(user_sub)
|
||||
app.add(log)
|
||||
|
||||
return app.instance
|
||||
|
||||
|
@ -41,6 +48,63 @@ def init_i18n():
|
|||
|
||||
|
||||
def init_logging(interface="cli", debug=False, quiet=False, logdir="/var/log/yunohost"):
|
||||
logging.basicConfig(
|
||||
level="NOTSET", format="%(message)s", handlers=[RichHandler(show_time=False)]
|
||||
)
|
||||
engine = "typer" if interface == "cli" else "fastapi"
|
||||
logfile = os.path.join(logdir, f"yunohost-{engine}-{interface}.log")
|
||||
|
||||
if not os.path.isdir(logdir):
|
||||
os.makedirs(logdir, 0o750)
|
||||
|
||||
logging_configuration = {
|
||||
"version": 1,
|
||||
"disable_existing_loggers": True,
|
||||
"formatters": {
|
||||
"console": {
|
||||
"format": "%(relativeCreated)-5d %(levelname)-8s %(name)s %(funcName)s - %(message)s"
|
||||
},
|
||||
"tty-debug": {"format": "%(relativeCreated)-4d %(message)s"},
|
||||
"precise": {
|
||||
"format": "%(asctime)-15s %(levelname)-8s %(name)s %(funcName)s - %(message)s"
|
||||
},
|
||||
},
|
||||
"filters": {
|
||||
"action": {
|
||||
"()": "moulinette.utils.log.ActionFilter",
|
||||
},
|
||||
},
|
||||
"handlers": {
|
||||
"cli": {
|
||||
"level": "DEBUG" if debug else "INFO",
|
||||
"()": "rich.logging.RichHandler",
|
||||
"show_time": False,
|
||||
# "formatter": "tty-debug" if debug else "",
|
||||
},
|
||||
"api": {
|
||||
"level": "DEBUG" if debug else "INFO",
|
||||
"class": "moulinette.interfaces.api.APIQueueHandler",
|
||||
},
|
||||
"file": {
|
||||
"class": "logging.FileHandler",
|
||||
"formatter": "precise",
|
||||
"filename": logfile,
|
||||
# "filters": ["action"],
|
||||
},
|
||||
},
|
||||
"loggers": {
|
||||
"yunohost": {
|
||||
"level": "DEBUG",
|
||||
"handlers": ["file", interface] if not quiet else ["file"],
|
||||
"propagate": False,
|
||||
},
|
||||
"moulinette": {
|
||||
"level": "DEBUG",
|
||||
"handlers": ["file", interface] if not quiet else ["file"],
|
||||
"propagate": False,
|
||||
},
|
||||
},
|
||||
"root": {
|
||||
"level": "DEBUG",
|
||||
"handlers": ["file", interface] if debug else ["file"],
|
||||
},
|
||||
}
|
||||
|
||||
configure_logging(logging_configuration)
|
||||
|
|
Loading…
Add table
Reference in a new issue