Как правильно отключить логгеры строронних библиотек в Django приложении?
Я пытаюсь отключить логгеры библиотеки colormath, поскольку они мне бесполезны и только мешают.
Я не могу использовать фильтрацию, потому что речь идёт о логе docker контейнера, к которому я подключаюсь таким образом: docker logs -f djangopostgre-web-1 --details
Я пытался сделать это в методе AppConfig.ready()
моего приложения, как указано в документации:
from django.apps import AppConfig
import logging
from colormath import chromatic_adaptation
from colormath import color_appearance_models
from colormath import color_conversions
from colormath import color_objects
logger = logging.getLogger(__name__)
def disable_logging(module):
module_logger = logging.getLogger(module.__name__)
module_logger.disabled = True
logger.debug(f'{module_logger} logger is disabled')
class MainConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'main'
def ready(self) -> None:
disable_logging(chromatic_adaptation)
disable_logging(color_appearance_models)
disable_logging(color_conversions)
disable_logging(color_objects)
return super().ready()
Это не работает, логи всё равно появляются. У меня есть причины не изменять исходный код библиотеки. В исходной библиотеке логгеры регистрируются следующим образом:
# colormath.chromatic_adaptation.py
import logging
import numpy
from numpy.linalg import pinv
from colormath import color_constants
logger = logging.getLogger(__name__)
#...
Пример мусорного вывода в лог:
Converting LCHabColor (lch_l:85.0000 lch_c:40.0000 lch_h:250.5600) to <class 'colormath.color_objects.sRGBColor'>
@ Conversion path: [<function LCHab_to_Lab at 0x7f6129552980>, <function Lab_to_XYZ at 0x7f6129552840>, <function XYZ_to_RGB at 0x7f61295531a0>]
* Conversion: LCHabColor passed to <function LCHab_to_Lab at 0x7f6129552980>()
|-> in LCHabColor (lch_l:85.0000 lch_c:40.0000 lch_h:250.5600)
|-< out LabColor (lab_l:85.0000 lab_a:-13.3128 lab_b:-37.7196)
* Conversion: LabColor passed to <function Lab_to_XYZ at 0x7f6129552840>()
|-> in LabColor (lab_l:85.0000 lab_a:-13.3128 lab_b:-37.7196)
|-< out XYZColor (xyz_x:0.5798 xyz_y:0.6601 xyz_z:0.9809)
* Conversion: XYZColor passed to <function XYZ_to_RGB at 0x7f61295531a0>()
|-> in XYZColor (xyz_x:0.5798 xyz_y:0.6601 xyz_z:0.9809)
\- Target RGB space: <class 'colormath.color_objects.sRGBColor'>
\- Target native illuminant: d65
\- XYZ color's illuminant: d50
\* Applying transformation from d50 to d65
\* Applying adaptation matrix: bradford
\* New values: 0.601, 0.671, 1.298
\* Applying RGB conversion matrix: type->xyz_to_rgb
|-< out sRGBColor (rgb_r:0.5551 rgb_g:0.8704 rgb_b:1.1100)
Converting LCHabColor (lch_l:85.0000 lch_c:40.0000 lch_h:250.5600) to <class 'colormath.color_objects.sRGBColor'>
@ Conversion path: [<function LCHab_to_Lab at 0x7f6129552980>, <function Lab_to_XYZ at 0x7f6129552840>, <function XYZ_to_RGB at 0x7f61295531a0>]
* Conversion: LCHabColor passed to <function LCHab_to_Lab at 0x7f6129552980>()
|-> in LCHabColor (lch_l:85.0000 lch_c:40.0000 lch_h:250.5600)
|-< out LabColor (lab_l:85.0000 lab_a:-13.3128 lab_b:-37.7196)
* Conversion: LabColor passed to <function Lab_to_XYZ at 0x7f6129552840>()
|-> in LabColor (lab_l:85.0000 lab_a:-13.3128 lab_b:-37.7196)
|-< out XYZColor (xyz_x:0.5798 xyz_y:0.6601 xyz_z:0.9809)
* Conversion: XYZColor passed to <function XYZ_to_RGB at 0x7f61295531a0>()
|-> in XYZColor (xyz_x:0.5798 xyz_y:0.6601 xyz_z:0.9809)
\- Target RGB space: <class 'colormath.color_objects.sRGBColor'>
\- Target native illuminant: d65
\- XYZ color's illuminant: d50
\* Applying transformation from d50 to d65
\* Applying adaptation matrix: bradford
\* New values: 0.601, 0.671, 1.298
\* Applying RGB conversion matrix: type->xyz_to_rgb
|-< out sRGBColor (rgb_r:0.5551 rgb_g:0.8704 rgb_b:1.1100)
Converting LCHabColor (lch_l:85.0000 lch_c:40.0000 lch_h:323.2800) to <class 'colormath.color_objects.sRGBColor'>
@ Conversion path: [<function LCHab_to_Lab at 0x7f6129552980>, <function Lab_to_XYZ at 0x7f6129552840>, <function XYZ_to_RGB at 0x7f61295531a0>]
* Conversion: LCHabColor passed to <function LCHab_to_Lab at 0x7f6129552980>()
|-> in LCHabColor (lch_l:85.0000 lch_c:40.0000 lch_h:323.2800)
|-< out LabColor (lab_l:85.0000 lab_a:32.0627 lab_b:-23.9162)
* Conversion: LabColor passed to <function Lab_to_XYZ at 0x7f6129552840>()
|-> in LabColor (lab_l:85.0000 lab_a:32.0627 lab_b:-23.9162)
|-< out XYZColor (xyz_x:0.7877 xyz_y:0.6601 xyz_z:0.8014)
* Conversion: XYZColor passed to <function XYZ_to_RGB at 0x7f61295531a0>()
|-> in XYZColor (xyz_x:0.7877 xyz_y:0.6601 xyz_z:0.8014)
\- Target RGB space: <class 'colormath.color_objects.sRGBColor'>
\- Target native illuminant: d65
\- XYZ color's illuminant: d50
\* Applying transformation from d50 to d65
\* Applying adaptation matrix: bradford
\* New values: 0.788, 0.661, 1.062
\* Applying RGB conversion matrix: type->xyz_to_rgb
|-< out sRGBColor (rgb_r:1.0036 rgb_g:0.7488 rgb_b:1.0137)
Converting LCHabColor (lch_l:85.0000 lch_c:40.0000 lch_h:323.2800) to <class 'colormath.color_objects.sRGBColor'>
Таких записей очень много, ведь я конвертирую десятки цветов, пользуясь colormath.