1
1
import inspect
2
2
import json
3
3
import logging
4
- from typing import Union
4
+ from typing import List , Union
5
5
6
6
7
7
class JsonFormatter (logging .Formatter ):
@@ -20,17 +20,17 @@ def format(self, record):
20
20
21
21
22
22
def configure (
23
- name = None ,
23
+ name : str = None ,
24
24
level : Union [str , int ]= logging .ERROR ,
25
- * handlers : logging .Handler
25
+ handlers : List [ logging .Handler ] = None
26
26
) -> logging .Logger :
27
27
"""Configure and return a logger with GlueOps default configuration
28
28
29
29
Args:
30
- name (_type_ , optional): The name of the logger. Defaults to None.
30
+ name (str , optional): The name of the logger. Defaults to None.
31
31
level (Union[str, int], optional): The log level, as an int or str. Defaults to logging.ERROR.
32
32
Must be less restrictive than the level applied to additional handlers for those handlers to receive logs
33
- * handlers (logging.Handler, optional): Add any additional handlers that may be desired.
33
+ handlers (List[ logging.Handler] , optional): List of any additional handlers that may be desired. Defaults to None .
34
34
35
35
Returns:
36
36
logging.Logger: Instance of configured logger
@@ -40,6 +40,9 @@ def configure(
40
40
module = inspect .getmodule (frame [0 ])
41
41
name = module .__name__ if module else "defaultLogger"
42
42
43
+ if handlers is None :
44
+ handlers = []
45
+
43
46
logger = logging .getLogger (name )
44
47
logger .setLevel (level )
45
48
0 commit comments