1
1
"""Defines manifester's internal logging."""
2
+
2
3
import logging
3
4
from pathlib import Path
4
5
5
6
import logzero
6
7
8
+ from manifester .settings import settings
9
+
7
10
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
+ ):
9
14
"""Call logzero setup with the given settings."""
10
15
Path (path ).parent .mkdir (parents = True , exist_ok = True )
11
16
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):
15
20
log_level = getattr (logging , level .upper (), logging .INFO )
16
21
# formatter for terminal
17
22
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"
20
25
# formatter for file
21
26
formatter = logzero .LogFormatter (
22
27
fmt = debug_fmt if log_level is logging .DEBUG else log_fmt , color = False
23
28
)
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 )
0 commit comments