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
|
import os
|
||||||
from rich.logging import RichHandler
|
|
||||||
from yunohost.interface import Interface
|
from yunohost.interface import Interface
|
||||||
from yunohost.user import user, group, permission
|
|
||||||
|
|
||||||
from moulinette import m18n
|
from moulinette import m18n
|
||||||
from moulinette.interfaces.cli import get_locale
|
from moulinette.interfaces.cli import get_locale
|
||||||
|
from moulinette.utils.log import configure_logging
|
||||||
|
|
||||||
|
|
||||||
def create_cli_interface():
|
def create_cli_interface():
|
||||||
init_i18n()
|
init_i18n()
|
||||||
init_logging(interface="cli")
|
init_logging(interface="cli")
|
||||||
|
|
||||||
|
from yunohost.user import user, group, permission
|
||||||
|
from yunohost.log import log
|
||||||
|
|
||||||
app = Interface(root=True)
|
app = Interface(root=True)
|
||||||
|
|
||||||
user.add(group)
|
user.add(group)
|
||||||
user.add(permission)
|
user.add(permission)
|
||||||
app.add(user)
|
app.add(user)
|
||||||
|
app.add(log)
|
||||||
|
|
||||||
return app.instance
|
return app.instance
|
||||||
|
|
||||||
|
@ -24,6 +27,9 @@ def create_api_interface():
|
||||||
init_i18n()
|
init_i18n()
|
||||||
init_logging(interface="cli")
|
init_logging(interface="cli")
|
||||||
|
|
||||||
|
from yunohost.user import user, group, permission
|
||||||
|
from yunohost.log import log
|
||||||
|
|
||||||
app = Interface(root=True)
|
app = Interface(root=True)
|
||||||
# Intermediate router to have distincts categories in swagger
|
# Intermediate router to have distincts categories in swagger
|
||||||
user_sub = Interface(prefix="/users")
|
user_sub = Interface(prefix="/users")
|
||||||
|
@ -31,6 +37,7 @@ def create_api_interface():
|
||||||
user_sub.add(group)
|
user_sub.add(group)
|
||||||
user_sub.add(permission)
|
user_sub.add(permission)
|
||||||
app.add(user_sub)
|
app.add(user_sub)
|
||||||
|
app.add(log)
|
||||||
|
|
||||||
return app.instance
|
return app.instance
|
||||||
|
|
||||||
|
@ -41,6 +48,63 @@ def init_i18n():
|
||||||
|
|
||||||
|
|
||||||
def init_logging(interface="cli", debug=False, quiet=False, logdir="/var/log/yunohost"):
|
def init_logging(interface="cli", debug=False, quiet=False, logdir="/var/log/yunohost"):
|
||||||
logging.basicConfig(
|
engine = "typer" if interface == "cli" else "fastapi"
|
||||||
level="NOTSET", format="%(message)s", handlers=[RichHandler(show_time=False)]
|
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