Skip to content

Commit 687800e

Browse files
committed
Isolate manifester's logger
1 parent 2472b22 commit 687800e

File tree

4 files changed

+31
-13
lines changed

4 files changed

+31
-13
lines changed

manifester/commands.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
from pathlib import Path
44

55
import click
6-
from logzero import logger
76

87
from manifester import Manifester, helpers
8+
from manifester.logger import _logger as logger
99
from manifester.settings import settings
1010

1111

manifester/helpers.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,12 @@
99
import sys
1010
import time
1111

12-
from logzero import logger
1312
from requests import HTTPError
1413
import yaml
1514

16-
from manifester.logger import setup_logzero
15+
from manifester.logger import _logger as logger
1716
from manifester.settings import settings
1817

19-
setup_logzero(level="info")
20-
21-
2218
RESULTS_LIMIT = 10000
2319

2420

manifester/logger.py

+28-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
"""Defines manifester's internal logging."""
2+
23
import logging
34
from pathlib import Path
45

56
import logzero
67

8+
from manifester.settings import settings
9+
710

8-
def setup_logzero(level="info", path="logs/manifester.log", silent=True):
11+
def _setup_logzero(
12+
level=settings.get("log_level", "info"), path="logs/manifester.log", name=None, silent=True
13+
):
914
"""Call logzero setup with the given settings."""
1015
Path(path).parent.mkdir(parents=True, exist_ok=True)
1116
log_fmt = "%(color)s[%(levelname)s %(asctime)s]%(end_color)s %(message)s"
@@ -15,10 +20,29 @@ def setup_logzero(level="info", path="logs/manifester.log", silent=True):
1520
log_level = getattr(logging, level.upper(), logging.INFO)
1621
# formatter for terminal
1722
formatter = logzero.LogFormatter(fmt=debug_fmt if log_level is logging.DEBUG else log_fmt)
18-
logzero.setup_logger(formatter=formatter, disableStderrLogger=silent)
19-
logzero.loglevel(log_level)
23+
if not name:
24+
name = "manifester"
2025
# formatter for file
2126
formatter = logzero.LogFormatter(
2227
fmt=debug_fmt if log_level is logging.DEBUG else log_fmt, color=False
2328
)
24-
logzero.logfile(path, loglevel=log_level, maxBytes=1e9, backupCount=3, formatter=formatter)
29+
logger = logzero.setup_logger(
30+
name=name,
31+
formatter=formatter,
32+
level=log_level,
33+
logfile=path,
34+
maxBytes=1e9,
35+
backupCount=3,
36+
disableStderrLogger=silent,
37+
)
38+
return logger
39+
40+
41+
_logger = _setup_logzero()
42+
43+
44+
def setup_logzero(
45+
level=settings.get("log_level", "info"), path="logs/manifester.log", name=None, silent=True
46+
):
47+
"""Call logzero setup with the given settings."""
48+
_logger = _setup_logzero(level, path, name, silent)

manifester/manifester.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import string
1010

1111
from dynaconf.utils.boxing import DynaBox
12-
from logzero import logger
1312
from requests.exceptions import Timeout
1413

1514
from manifester.helpers import (
@@ -18,7 +17,7 @@
1817
simple_retry,
1918
update_inventory,
2019
)
21-
from manifester.logger import setup_logzero
20+
from manifester.logger import _logger as logger
2221
from manifester.settings import settings
2322

2423

@@ -33,7 +32,6 @@ def __init__(
3332
proxies=None,
3433
**kwargs,
3534
):
36-
setup_logzero(level=settings.get("log_level", "info"))
3735
if minimal_init:
3836
self.offline_token = settings.get("offline_token")
3937
self.token_request_url = settings.get("url").get("token_request")

0 commit comments

Comments
 (0)