MCPcopy
hub / github.com/qodo-ai/qodo-cover / get_logger

Method get_logger

cover_agent/CustomLogger.py:9–62  ·  view source on GitHub ↗

Return a logger object with specified name. Parameters: name (str): The name of the logger. generate_log_files (bool): Whether to generate log files. file_level (int): The log level to use. console_level (int): The log level to use.

(cls, name, generate_log_files=True, file_level=logging.INFO, console_level=logging.INFO)

Source from the content-addressed store, hash-verified

7
8 @classmethod
9 def get_logger(cls, name, generate_log_files=True, file_level=logging.INFO, console_level=logging.INFO):
10 """
11 Return a logger object with specified name.
12
13 Parameters:
14 name (str): The name of the logger.
15 generate_log_files (bool): Whether to generate log files.
16 file_level (int): The log level to use.
17 console_level (int): The log level to use.
18
19 Returns:
20 logging.Logger: The logger object.
21
22 Note:
23 This method sets up the logger to handle all messages of DEBUG level and above.
24 It adds a file handler to write log messages to a file specified by 'log_file_path' and a stream handler
25 to output log messages to the console. The log file is overwritten on each run.
26
27 Example:
28 logger = CustomLogger.get_logger('my_logger')
29 logger.debug('This is a debug message')
30 logger.info('This is an info message')
31 logger.warning('This is a warning message')
32 logger.error('This is an error message')
33 logger.critical('This is a critical message')
34 """
35 logger = logging.getLogger(name)
36 logger.setLevel(logging.DEBUG)
37
38 # Check if handlers are already set up to avoid adding them multiple times
39 if not logger.handlers:
40 formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
41
42 # Only add file handler if file generation is enabled
43 if generate_log_files:
44 # Specify the log file path
45 log_file_path = get_settings().get("default").get("log_file_path", "run.log")
46
47 # File handler for writing to a file. Use 'w' to overwrite the log file on each run
48 file_handler = logging.FileHandler(log_file_path, mode="w")
49 file_handler.setLevel(file_level)
50 file_handler.setFormatter(formatter)
51 logger.addHandler(file_handler)
52
53 # Stream handler for output to the console
54 stream_handler = logging.StreamHandler()
55 stream_handler.setLevel(console_level)
56 stream_handler.setFormatter(formatter)
57 logger.addHandler(stream_handler)
58
59 # Prevent log messages from being propagated to the root logger
60 logger.propagate = False
61
62 return logger

Callers 13

docker_utils.pyFile · 0.80
test_e2e.pyFile · 0.80
run_test_all.pyFile · 0.80
__init__Method · 0.80
__init__Method · 0.80
__init__Method · 0.80
__init__Method · 0.80
__init__Method · 0.80
__init__Method · 0.80
__init__Method · 0.80
__init__Method · 0.80

Calls 1

get_settingsFunction · 0.90

Tested by 3

__init__Method · 0.64
__init__Method · 0.64