(name='xsstrike')
| 156 | |
| 157 | |
| 158 | def setup_logger(name='xsstrike'): |
| 159 | from types import MethodType |
| 160 | logger = logging.getLogger(name) |
| 161 | logger.setLevel(logging.DEBUG) |
| 162 | console_handler = CustomStreamHandler(sys.stdout) |
| 163 | console_handler.setLevel(log_config[console_log_level]['value']) |
| 164 | console_handler.setFormatter(CustomFormatter('%(message)s')) |
| 165 | logger.addHandler(console_handler) |
| 166 | # Setup blank handler to temporally use to log without format |
| 167 | no_format_console_handler = CustomStreamHandler(sys.stdout) |
| 168 | no_format_console_handler.setLevel((log_config[console_log_level]['value'])) |
| 169 | no_format_console_handler.setFormatter(logging.Formatter(fmt='')) |
| 170 | # Store current handlers |
| 171 | logger.console_handler = console_handler |
| 172 | logger.no_format_console_handler = no_format_console_handler |
| 173 | |
| 174 | if file_log_level: |
| 175 | detailed_formatter = logging.Formatter('%(asctime)s %(name)s - %(levelname)s - %(message)s') |
| 176 | file_handler = logging.FileHandler(log_file) |
| 177 | file_handler.setLevel(log_config[file_log_level]['value']) |
| 178 | file_handler.setFormatter(detailed_formatter) |
| 179 | logger.addHandler(file_handler) |
| 180 | # Setup blank handler to temporally use to log without format |
| 181 | no_format_file_handler = logging.FileHandler(log_file) |
| 182 | no_format_file_handler.setLevel(log_config[file_log_level]['value']) |
| 183 | no_format_file_handler.setFormatter(logging.Formatter(fmt='')) |
| 184 | # Store file handlers |
| 185 | logger.file_handler = file_handler |
| 186 | logger.no_format_file_handler = no_format_file_handler |
| 187 | |
| 188 | # Create logger method to only log a red line |
| 189 | logger.red_line = MethodType(log_red_line, logger) |
| 190 | # Create logger method to log without format |
| 191 | logger.no_format = MethodType(log_no_format, logger) |
| 192 | # Create logger method to convert data to json and log with debug level |
| 193 | logger.debug_json = MethodType(log_debug_json, logger) |
| 194 | return logger |
no test coverage detected