From 2ece3b65f6c6e51cdbb240bdb24cb74d8c21802b Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Tue, 18 Jul 2023 00:19:16 +0200 Subject: [PATCH] Moulinette logging is an unecessarily complex mess, episode 57682 --- src/__init__.py | 13 +++---------- src/app.py | 4 ++-- src/app_catalog.py | 4 ++-- src/backup.py | 4 ++-- src/certificate.py | 5 ++--- src/diagnosis.py | 3 ++- src/dns.py | 5 ++--- src/domain.py | 4 ++-- src/dyndns.py | 4 ++-- src/firewall.py | 4 ++-- src/hook.py | 4 ++-- src/log.py | 3 +-- src/migrations/0021_migrate_to_bullseye.py | 4 ++-- src/migrations/0022_php73_to_php74_pools.py | 5 ++--- src/migrations/0023_postgresql_11_to_13.py | 4 ++-- src/migrations/0024_rebuild_python_venv.py | 4 ++-- .../0025_global_settings_to_configpanel.py | 4 ++-- src/migrations/0026_new_admins_group.py | 4 ++-- src/permission.py | 4 ++-- src/regenconf.py | 14 +++++++------- src/service.py | 5 ++--- src/settings.py | 4 ++-- src/tools.py | 4 ++-- src/user.py | 4 ++-- src/utils/configpanel.py | 4 ++-- src/utils/form.py | 4 ++-- src/utils/legacy.py | 5 +++-- src/utils/resources.py | 4 ++-- 28 files changed, 62 insertions(+), 72 deletions(-) diff --git a/src/__init__.py b/src/__init__.py index d13d61089..e23b62219 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -115,17 +115,11 @@ def init_logging(interface="cli", debug=False, quiet=False, logdir="/var/log/yun "version": 1, "disable_existing_loggers": True, "formatters": { - "console": { - "format": "%(relativeCreated)-5d %(levelname)-8s %(name)s %(funcName)s - %(fmessage)s" + "tty-debug": { + "format": "%(relativeCreated)-4d %(level_with_color)s %(message)s" }, - "tty-debug": {"format": "%(relativeCreated)-4d %(fmessage)s"}, "precise": { - "format": "%(asctime)-15s %(levelname)-8s %(name)s %(funcName)s - %(fmessage)s" - }, - }, - "filters": { - "action": { - "()": "moulinette.utils.log.ActionFilter", + "format": "%(asctime)-15s %(levelname)-8s %(name)s.%(funcName)s - %(message)s" }, }, "handlers": { @@ -142,7 +136,6 @@ def init_logging(interface="cli", debug=False, quiet=False, logdir="/var/log/yun "class": "logging.FileHandler", "formatter": "precise", "filename": logfile, - "filters": ["action"], }, }, "loggers": { diff --git a/src/app.py b/src/app.py index 75d336241..483d34153 100644 --- a/src/app.py +++ b/src/app.py @@ -28,9 +28,9 @@ import tempfile import copy from typing import List, Tuple, Dict, Any, Iterator, Optional from packaging import version +from logging import getLogger from moulinette import Moulinette, m18n -from moulinette.utils.log import getActionLogger from moulinette.utils.process import run_commands, check_output from moulinette.utils.filesystem import ( read_file, @@ -71,7 +71,7 @@ from yunohost.app_catalog import ( # noqa APPS_CATALOG_LOGOS, ) -logger = getActionLogger("yunohost.app") +logger = getLogger("yunohost.app") APPS_SETTING_PATH = "/etc/yunohost/apps/" APP_TMP_WORKDIRS = "/var/cache/yunohost/app_tmp_work_dirs" diff --git a/src/app_catalog.py b/src/app_catalog.py index 9fb662845..2a50a0f82 100644 --- a/src/app_catalog.py +++ b/src/app_catalog.py @@ -19,9 +19,9 @@ import os import re import hashlib +from logging import getLogger from moulinette import m18n -from moulinette.utils.log import getActionLogger from moulinette.utils.network import download_json from moulinette.utils.filesystem import ( read_json, @@ -34,7 +34,7 @@ from moulinette.utils.filesystem import ( from yunohost.utils.i18n import _value_for_locale from yunohost.utils.error import YunohostError -logger = getActionLogger("yunohost.app_catalog") +logger = getLogger("yunohost.app_catalog") APPS_CATALOG_CACHE = "/var/cache/yunohost/repo" APPS_CATALOG_LOGOS = "/usr/share/yunohost/applogos" diff --git a/src/backup.py b/src/backup.py index ce1e8ba2c..505e071a1 100644 --- a/src/backup.py +++ b/src/backup.py @@ -30,10 +30,10 @@ from glob import glob from collections import OrderedDict from functools import reduce from packaging import version +from logging import getLogger from moulinette import Moulinette, m18n from moulinette.utils.text import random_ascii -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import ( read_file, mkdir, @@ -84,7 +84,7 @@ APP_MARGIN_SPACE_SIZE = 100 # In MB CONF_MARGIN_SPACE_SIZE = 10 # IN MB POSTINSTALL_ESTIMATE_SPACE_SIZE = 5 # In MB MB_ALLOWED_TO_ORGANIZE = 10 -logger = getActionLogger("yunohost.backup") +logger = getLogger("yunohost.backup") class BackupRestoreTargetsManager: diff --git a/src/certificate.py b/src/certificate.py index 76d3f32b7..c3aaacc87 100644 --- a/src/certificate.py +++ b/src/certificate.py @@ -21,11 +21,10 @@ import sys import shutil import subprocess from glob import glob - +from logging import getLogger from datetime import datetime from moulinette import m18n -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import read_file, chown, chmod from moulinette.utils.process import check_output @@ -38,7 +37,7 @@ from yunohost.service import _run_service_command from yunohost.regenconf import regen_conf from yunohost.log import OperationLogger -logger = getActionLogger("yunohost.certmanager") +logger = getLogger("yunohost.certmanager") CERT_FOLDER = "/etc/yunohost/certs/" TMP_FOLDER = "/var/www/.well-known/acme-challenge-private/" diff --git a/src/diagnosis.py b/src/diagnosis.py index 02047c001..be3208b02 100644 --- a/src/diagnosis.py +++ b/src/diagnosis.py @@ -21,6 +21,7 @@ import os import time import glob from importlib import import_module +from logging import getLogger from moulinette import m18n, Moulinette from moulinette.utils import log @@ -33,7 +34,7 @@ from moulinette.utils.filesystem import ( from yunohost.utils.error import YunohostError, YunohostValidationError -logger = log.getActionLogger("yunohost.diagnosis") +logger = getLogger("yunohost.diagnosis") DIAGNOSIS_CACHE = "/var/cache/yunohost/diagnosis/" DIAGNOSIS_CONFIG_FILE = "/etc/yunohost/diagnosis.yml" diff --git a/src/dns.py b/src/dns.py index e25d0f3ec..9a081e228 100644 --- a/src/dns.py +++ b/src/dns.py @@ -19,12 +19,11 @@ import os import re import time - +from logging import getLogger from difflib import SequenceMatcher from collections import OrderedDict from moulinette import m18n, Moulinette -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import read_file, write_to_file, read_toml, mkdir from yunohost.domain import ( @@ -42,7 +41,7 @@ from yunohost.settings import settings_get from yunohost.log import is_unit_operation from yunohost.hook import hook_callback -logger = getActionLogger("yunohost.domain") +logger = getLogger("yunohost.domain") DOMAIN_REGISTRAR_LIST_PATH = "/usr/share/yunohost/registrar_list.toml" diff --git a/src/domain.py b/src/domain.py index 8fc9799cd..2d36fdfa4 100644 --- a/src/domain.py +++ b/src/domain.py @@ -20,10 +20,10 @@ import os import time from typing import List, Optional from collections import OrderedDict +from logging import getLogger from moulinette import m18n, Moulinette from moulinette.core import MoulinetteError -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import write_to_file, read_yaml, write_to_yaml, rm from yunohost.app import ( @@ -39,7 +39,7 @@ from yunohost.utils.error import YunohostError, YunohostValidationError from yunohost.utils.dns import is_yunohost_dyndns_domain from yunohost.log import is_unit_operation -logger = getActionLogger("yunohost.domain") +logger = getLogger("yunohost.domain") DOMAIN_SETTINGS_DIR = "/etc/yunohost/domains" diff --git a/src/dyndns.py b/src/dyndns.py index a3afd655f..5c9e2a36e 100644 --- a/src/dyndns.py +++ b/src/dyndns.py @@ -22,10 +22,10 @@ import glob import base64 import subprocess import hashlib +from logging import getLogger from moulinette import Moulinette, m18n from moulinette.core import MoulinetteError -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import write_to_file, rm, chown, chmod from moulinette.utils.network import download_json @@ -36,7 +36,7 @@ from yunohost.utils.dns import dig, is_yunohost_dyndns_domain from yunohost.log import is_unit_operation from yunohost.regenconf import regen_conf -logger = getActionLogger("yunohost.dyndns") +logger = getLogger("yunohost.dyndns") DYNDNS_PROVIDER = "dyndns.yunohost.org" DYNDNS_DNS_AUTH = ["ns0.yunohost.org", "ns1.yunohost.org"] diff --git a/src/firewall.py b/src/firewall.py index 392678fe1..9375aded0 100644 --- a/src/firewall.py +++ b/src/firewall.py @@ -19,16 +19,16 @@ import os import yaml import miniupnpc +from logging import getLogger from moulinette import m18n from yunohost.utils.error import YunohostError, YunohostValidationError from moulinette.utils import process -from moulinette.utils.log import getActionLogger FIREWALL_FILE = "/etc/yunohost/firewall.yml" UPNP_CRON_JOB = "/etc/cron.d/yunohost-firewall-upnp" -logger = getActionLogger("yunohost.firewall") +logger = getLogger("yunohost.firewall") def firewall_allow( diff --git a/src/hook.py b/src/hook.py index 4b07d1c17..60abb98d4 100644 --- a/src/hook.py +++ b/src/hook.py @@ -23,16 +23,16 @@ import tempfile import mimetypes from glob import iglob from importlib import import_module +from logging import getLogger from moulinette import m18n, Moulinette from yunohost.utils.error import YunohostError, YunohostValidationError -from moulinette.utils import log from moulinette.utils.filesystem import read_yaml, cp HOOK_FOLDER = "/usr/share/yunohost/hooks/" CUSTOM_HOOK_FOLDER = "/etc/yunohost/hooks.d/" -logger = log.getActionLogger("yunohost.hook") +logger = getLogger("yunohost.hook") def hook_add(app, file): diff --git a/src/log.py b/src/log.py index 5ab918e76..13683d8ef 100644 --- a/src/log.py +++ b/src/log.py @@ -32,10 +32,9 @@ from moulinette import m18n, Moulinette from moulinette.core import MoulinetteError from yunohost.utils.error import YunohostError, YunohostValidationError from yunohost.utils.system import get_ynh_package_version -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import read_file, read_yaml -logger = getActionLogger("yunohost.log") +logger = getLogger("yunohost.log") CATEGORIES_PATH = "/var/log/yunohost/categories/" OPERATIONS_PATH = "/var/log/yunohost/categories/operation/" diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index f320577e1..eee8cc667 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -1,9 +1,9 @@ import glob import os +from logging import getLogger from moulinette import m18n from yunohost.utils.error import YunohostError -from moulinette.utils.log import getActionLogger from moulinette.utils.process import check_output, call_async_output from moulinette.utils.filesystem import read_file, rm, write_to_file @@ -22,7 +22,7 @@ from yunohost.utils.system import ( ) from yunohost.service import _get_services, _save_services -logger = getActionLogger("yunohost.migration") +logger = getLogger("yunohost.migration") N_CURRENT_DEBIAN = 10 N_CURRENT_YUNOHOST = 4 diff --git a/src/migrations/0022_php73_to_php74_pools.py b/src/migrations/0022_php73_to_php74_pools.py index dc428e504..23ecc5b89 100644 --- a/src/migrations/0022_php73_to_php74_pools.py +++ b/src/migrations/0022_php73_to_php74_pools.py @@ -1,15 +1,14 @@ import os import glob from shutil import copy2 - -from moulinette.utils.log import getActionLogger +from logging import getLogger from yunohost.app import _is_installed from yunohost.utils.legacy import _patch_legacy_php_versions_in_settings from yunohost.tools import Migration from yunohost.service import _run_service_command -logger = getActionLogger("yunohost.migration") +logger = getLogger("yunohost.migration") OLDPHP_POOLS = "/etc/php/7.3/fpm/pool.d" NEWPHP_POOLS = "/etc/php/7.4/fpm/pool.d" diff --git a/src/migrations/0023_postgresql_11_to_13.py b/src/migrations/0023_postgresql_11_to_13.py index 6d37ffa74..086b17af7 100644 --- a/src/migrations/0023_postgresql_11_to_13.py +++ b/src/migrations/0023_postgresql_11_to_13.py @@ -1,15 +1,15 @@ import subprocess import time import os +from logging import getLogger from moulinette import m18n from yunohost.utils.error import YunohostError, YunohostValidationError -from moulinette.utils.log import getActionLogger from yunohost.tools import Migration from yunohost.utils.system import free_space_in_directory, space_used_by_directory -logger = getActionLogger("yunohost.migration") +logger = getLogger("yunohost.migration") class MyMigration(Migration): diff --git a/src/migrations/0024_rebuild_python_venv.py b/src/migrations/0024_rebuild_python_venv.py index 01a229b87..5b77e69a0 100644 --- a/src/migrations/0024_rebuild_python_venv.py +++ b/src/migrations/0024_rebuild_python_venv.py @@ -1,14 +1,14 @@ import os +from logging import getLogger from moulinette import m18n -from moulinette.utils.log import getActionLogger from moulinette.utils.process import call_async_output from yunohost.tools import Migration, tools_migrations_state from moulinette.utils.filesystem import rm -logger = getActionLogger("yunohost.migration") +logger = getLogger("yunohost.migration") VENV_REQUIREMENTS_SUFFIX = ".requirements_backup_for_bullseye_upgrade.txt" diff --git a/src/migrations/0025_global_settings_to_configpanel.py b/src/migrations/0025_global_settings_to_configpanel.py index 3a8818461..76289e608 100644 --- a/src/migrations/0025_global_settings_to_configpanel.py +++ b/src/migrations/0025_global_settings_to_configpanel.py @@ -1,13 +1,13 @@ import os +from logging import getLogger from yunohost.utils.error import YunohostError -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import read_json, write_to_yaml from yunohost.tools import Migration from yunohost.utils.legacy import translate_legacy_settings_to_configpanel_settings -logger = getActionLogger("yunohost.migration") +logger = getLogger("yunohost.migration") SETTINGS_PATH = "/etc/yunohost/settings.yml" OLD_SETTINGS_PATH = "/etc/yunohost/settings.json" diff --git a/src/migrations/0026_new_admins_group.py b/src/migrations/0026_new_admins_group.py index 43f10a7b6..30237e720 100644 --- a/src/migrations/0026_new_admins_group.py +++ b/src/migrations/0026_new_admins_group.py @@ -1,8 +1,8 @@ -from moulinette.utils.log import getActionLogger +from logging import getLogger from yunohost.tools import Migration -logger = getActionLogger("yunohost.migration") +logger = getLogger("yunohost.migration") ################################################### # Tools used also for restoration diff --git a/src/permission.py b/src/permission.py index 72975561f..7ec6f17bc 100644 --- a/src/permission.py +++ b/src/permission.py @@ -20,13 +20,13 @@ import re import copy import grp import random +from logging import getLogger from moulinette import m18n -from moulinette.utils.log import getActionLogger from yunohost.utils.error import YunohostError, YunohostValidationError from yunohost.log import is_unit_operation -logger = getActionLogger("yunohost.user") +logger = getLogger("yunohost.user") SYSTEM_PERMS = ["mail", "xmpp", "sftp", "ssh"] diff --git a/src/regenconf.py b/src/regenconf.py index 74bbdb17c..f180368ad 100644 --- a/src/regenconf.py +++ b/src/regenconf.py @@ -20,12 +20,12 @@ import os import yaml import shutil import hashlib - +from logging import getLogger from difflib import unified_diff from datetime import datetime from moulinette import m18n -from moulinette.utils import log, filesystem +from moulinette.utils.filesystem import mkdir from moulinette.utils.process import check_output from yunohost.utils.error import YunohostError @@ -37,7 +37,7 @@ BACKUP_CONF_DIR = os.path.join(BASE_CONF_PATH, "backup") PENDING_CONF_DIR = os.path.join(BASE_CONF_PATH, "pending") REGEN_CONF_FILE = "/etc/yunohost/regenconf.yml" -logger = log.getActionLogger("yunohost.regenconf") +logger = getLogger("yunohost.regenconf") # FIXME : those ain't just services anymore ... what are we supposed to do with this ... @@ -102,7 +102,7 @@ def regen_conf( for name in names: shutil.rmtree(os.path.join(PENDING_CONF_DIR, name), ignore_errors=True) else: - filesystem.mkdir(PENDING_CONF_DIR, 0o755, True) + mkdir(PENDING_CONF_DIR, 0o755, True) # Execute hooks for pre-regen # element 2 and 3 with empty string is because of legacy... @@ -111,7 +111,7 @@ def regen_conf( def _pre_call(name, priority, path, args): # create the pending conf directory for the category category_pending_path = os.path.join(PENDING_CONF_DIR, name) - filesystem.mkdir(category_pending_path, 0o755, True, uid="root") + mkdir(category_pending_path, 0o755, True, uid="root") # return the arguments to pass to the script return pre_args + [ @@ -622,7 +622,7 @@ def _process_regen_conf(system_conf, new_conf=None, save=True): backup_dir = os.path.dirname(backup_path) if not os.path.isdir(backup_dir): - filesystem.mkdir(backup_dir, 0o755, True) + mkdir(backup_dir, 0o755, True) shutil.copy2(system_conf, backup_path) logger.debug( @@ -637,7 +637,7 @@ def _process_regen_conf(system_conf, new_conf=None, save=True): system_dir = os.path.dirname(system_conf) if not os.path.isdir(system_dir): - filesystem.mkdir(system_dir, 0o755, True) + mkdir(system_dir, 0o755, True) shutil.copyfile(new_conf, system_conf) logger.debug(m18n.n("regenconf_file_updated", conf=system_conf)) diff --git a/src/service.py b/src/service.py index 47bc1903a..6bb61d841 100644 --- a/src/service.py +++ b/src/service.py @@ -21,14 +21,13 @@ import os import time import yaml import subprocess - +from logging import getLogger from glob import glob from datetime import datetime from moulinette import m18n from yunohost.utils.error import YunohostError, YunohostValidationError from moulinette.utils.process import check_output -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import ( read_file, append_to_file, @@ -42,7 +41,7 @@ MOULINETTE_LOCK = "/var/run/moulinette_yunohost.lock" SERVICES_CONF = "/etc/yunohost/services.yml" SERVICES_CONF_BASE = "/usr/share/yunohost/conf/yunohost/services.yml" -logger = getActionLogger("yunohost.service") +logger = getLogger("yunohost.service") def service_add( diff --git a/src/settings.py b/src/settings.py index 6690ab3fd..e2f34bda9 100644 --- a/src/settings.py +++ b/src/settings.py @@ -18,18 +18,18 @@ # import os import subprocess +from logging import getLogger from moulinette import m18n from yunohost.utils.error import YunohostError, YunohostValidationError from yunohost.utils.configpanel import ConfigPanel from yunohost.utils.form import BaseOption -from moulinette.utils.log import getActionLogger from yunohost.regenconf import regen_conf from yunohost.firewall import firewall_reload from yunohost.log import is_unit_operation from yunohost.utils.legacy import translate_legacy_settings_to_configpanel_settings -logger = getActionLogger("yunohost.settings") +logger = getLogger("yunohost.settings") SETTINGS_PATH = "/etc/yunohost/settings.yml" diff --git a/src/tools.py b/src/tools.py index cd48f00ee..23edf1004 100644 --- a/src/tools.py +++ b/src/tools.py @@ -24,9 +24,9 @@ import time from importlib import import_module from packaging import version from typing import List +from logging import getLogger from moulinette import Moulinette, m18n -from moulinette.utils.log import getActionLogger from moulinette.utils.process import call_async_output from moulinette.utils.filesystem import read_yaml, write_to_yaml, cp, mkdir, rm, chown @@ -55,7 +55,7 @@ from yunohost.log import is_unit_operation, OperationLogger MIGRATIONS_STATE_PATH = "/etc/yunohost/migrations.yaml" -logger = getActionLogger("yunohost.tools") +logger = getLogger("yunohost.tools") def tools_versions(): diff --git a/src/user.py b/src/user.py index 00876854e..780797a61 100644 --- a/src/user.py +++ b/src/user.py @@ -25,9 +25,9 @@ import random import string import subprocess import copy +from logging import getLogger from moulinette import Moulinette, m18n -from moulinette.utils.log import getActionLogger from moulinette.utils.process import check_output from yunohost.utils.error import YunohostError, YunohostValidationError @@ -35,7 +35,7 @@ from yunohost.service import service_status from yunohost.log import is_unit_operation from yunohost.utils.system import binary_to_human -logger = getActionLogger("yunohost.user") +logger = getLogger("yunohost.user") FIELDS_FOR_IMPORT = { "username": r"^[a-z0-9_]+$", diff --git a/src/utils/configpanel.py b/src/utils/configpanel.py index 42a030cbc..56e071956 100644 --- a/src/utils/configpanel.py +++ b/src/utils/configpanel.py @@ -22,11 +22,11 @@ import re import urllib.parse from collections import OrderedDict from typing import Union +from logging import getLogger from moulinette import Moulinette, m18n from moulinette.interfaces.cli import colorize from moulinette.utils.filesystem import mkdir, read_toml, read_yaml, write_to_yaml -from moulinette.utils.log import getActionLogger from yunohost.utils.error import YunohostError, YunohostValidationError from yunohost.utils.form import ( OPTIONS, @@ -40,7 +40,7 @@ from yunohost.utils.form import ( ) from yunohost.utils.i18n import _value_for_locale -logger = getActionLogger("yunohost.configpanel") +logger = getLogger("yunohost.configpanel") CONFIG_PANEL_VERSION_SUPPORTED = 1.0 diff --git a/src/utils/form.py b/src/utils/form.py index 1ca03373e..e2e01ca12 100644 --- a/src/utils/form.py +++ b/src/utils/form.py @@ -25,16 +25,16 @@ import tempfile import urllib.parse from enum import Enum from typing import Any, Callable, Dict, List, Literal, Mapping, Optional, Union +from logging import getLogger from moulinette import Moulinette, m18n from moulinette.interfaces.cli import colorize from moulinette.utils.filesystem import read_file, write_to_file -from moulinette.utils.log import getActionLogger from yunohost.log import OperationLogger from yunohost.utils.error import YunohostError, YunohostValidationError from yunohost.utils.i18n import _value_for_locale -logger = getActionLogger("yunohost.form") +logger = getLogger("yunohost.form") Context = dict[str, Any] diff --git a/src/utils/legacy.py b/src/utils/legacy.py index 82507d64d..8b44fb3fb 100644 --- a/src/utils/legacy.py +++ b/src/utils/legacy.py @@ -19,8 +19,9 @@ import os import re import glob +from logging import getLogger + from moulinette.core import MoulinetteError -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import ( read_file, write_to_file, @@ -32,7 +33,7 @@ from moulinette.utils.filesystem import ( from yunohost.utils.error import YunohostValidationError -logger = getActionLogger("yunohost.legacy") +logger = getLogger("yunohost.utils.legacy") LEGACY_PERMISSION_LABEL = { ("nextcloud", "skipped"): "api", # .well-known diff --git a/src/utils/resources.py b/src/utils/resources.py index 60a5f44f6..5e3f2c569 100644 --- a/src/utils/resources.py +++ b/src/utils/resources.py @@ -23,11 +23,11 @@ import random import tempfile import subprocess from typing import Dict, Any, List, Union +from logging import getLogger from moulinette import m18n from moulinette.utils.text import random_ascii from moulinette.utils.process import check_output -from moulinette.utils.log import getActionLogger from moulinette.utils.filesystem import mkdir, chown, chmod, write_to_file from moulinette.utils.filesystem import ( rm, @@ -35,7 +35,7 @@ from moulinette.utils.filesystem import ( from yunohost.utils.system import system_arch from yunohost.utils.error import YunohostError, YunohostValidationError -logger = getActionLogger("yunohost.app_resources") +logger = getLogger("yunohost.utils.resources") class AppResourceManager: