1    	import logging
2    	import logging.handlers
3    	import multiprocessing as mp
4    	import os
5    	
6    	WORKER_LOGGER = "pcs_worker"
7    	
8    	
9    	class Logger(logging.Logger):
10   	    def makeRecord(  # type: ignore # noqa: PLR0913
11   	        self,
12   	        name,
13   	        level,
14   	        fn,
15   	        lno,
16   	        msg,
17   	        args,
18   	        exc_info,
19   	        func=None,
20   	        extra=None,
21   	        sinfo=None,
22   	    ) -> logging.LogRecord:
23   	        pid = os.getpid()
24   	        return super().makeRecord(
25   	            name,
26   	            level,
27   	            fn,
28   	            lno,
29   	            f"Worker#{pid}: {msg}",
30   	            args,
31   	            exc_info,
32   	            func=func,
33   	            extra=extra,
34   	            sinfo=sinfo,
35   	        )
36   	
37   	
38   	def setup_worker_logger(queue: mp.Queue) -> logging.Logger:
39   	    """
40   	    Creates and configures worker's logger
41   	    :return: Logger instance
42   	    """
43   	    logging.setLoggerClass(Logger)
44   	    logger = logging.getLogger(WORKER_LOGGER)
CID (unavailable; MK=2badb54ae1da6c1523ca3d071cc2b6d6) (#1 of 1): Excessive log level (SIGMA.debug_logging_enabled):
(1) Event Sigma main event: The Python application has been configured to create excessive logs using a `DEBUG` log level. Excessive logging can expose sensitive information in log files.
(2) Event remediation: The log level of a production Python application should be set to `ERROR`, `WARN`, or `INFO`, instead of `DEBUG`.
45   	    logger.setLevel(logging.DEBUG)
46   	
47   	    queue_handler = logging.handlers.QueueHandler(queue)
48   	    logger.addHandler(queue_handler)
49   	
50   	    return logger
51