dockonsurf / modules / config_log.py @ 19567be2
Historique | Voir | Annoter | Télécharger (1,08 ko)
1 | 0e83e6a6 | Carles | """Configures the logger to record all calculation events on a log file."""
|
---|---|---|---|
2 | 07bba5bb | Carles Martí | import sys |
3 | 9f7bb440 | Carles | import logging |
4 | bf33f563 | Carles Martí | import warnings |
5 | 9f7bb440 | Carles | |
6 | 9f7bb440 | Carles | |
7 | 07bba5bb | Carles Martí | def log_exception(exc_type, exc_value, exc_tb): |
8 | 07bba5bb | Carles Martí | if issubclass(exc_type, KeyboardInterrupt): |
9 | 07bba5bb | Carles Martí | sys.__excepthook__(exc_type, exc_value, exc_tb) |
10 | 07bba5bb | Carles Martí | return
|
11 | 07bba5bb | Carles Martí | logger = logging.getLogger('DockOnSurf')
|
12 | 07bba5bb | Carles Martí | logger.error("", exc_info=(exc_type, exc_value, exc_tb))
|
13 | 07bba5bb | Carles Martí | |
14 | 07bba5bb | Carles Martí | |
15 | bf33f563 | Carles Martí | def log_warning(message, *args, **kwargs): |
16 | bf33f563 | Carles Martí | logger = logging.getLogger('DockOnSurf')
|
17 | bf33f563 | Carles Martí | logger.warning(" ".join(f"{message}".split())) |
18 | bf33f563 | Carles Martí | |
19 | 78fcb188 | Carles Martí | |
20 | bf33f563 | Carles Martí | def config_log(label): # TODO Format log to break line after column 80. |
21 | 9f7bb440 | Carles | logger = logging.getLogger(label) |
22 | 9f7bb440 | Carles | logger.setLevel(logging.INFO) |
23 | 78fcb188 | Carles Martí | |
24 | 9f7bb440 | Carles | log_handler = logging.FileHandler('dockonsurf.log', mode='w') |
25 | 9f7bb440 | Carles | log_handler.setLevel(logging.INFO) |
26 | 9f7bb440 | Carles | log_format = logging.Formatter(fmt='%(asctime)s-%(levelname)s: %(message)s',
|
27 | 9f7bb440 | Carles | datefmt='%d-%b-%y %H:%M:%S')
|
28 | 9f7bb440 | Carles | log_handler.setFormatter(log_format) |
29 | 78fcb188 | Carles Martí | |
30 | 9f7bb440 | Carles | logger.addHandler(log_handler) |
31 | bf33f563 | Carles Martí | |
32 | 07bba5bb | Carles Martí | sys.excepthook = log_exception |
33 | bf33f563 | Carles Martí | warnings.showwarning = log_warning |
34 | 78fcb188 | Carles Martí | |
35 | 9f7bb440 | Carles | return logger |