|
1 | 1 | # Standard library |
2 | 2 | import logging |
3 | 3 | import os |
| 4 | +import sys |
4 | 5 | from datetime import datetime, timezone |
5 | 6 |
|
6 | 7 | # Third-party |
@@ -115,10 +116,28 @@ def paths_update(logger, paths, old_quarter, new_quarter): |
115 | 116 |
|
116 | 117 | def setup(current_file): |
117 | 118 | # Set up logging |
118 | | - logging.basicConfig( |
119 | | - level=logging.INFO, |
120 | | - format="%(asctime)s - %(levelname)s - %(module)s - %(message)s", |
| 119 | + root = logging.getLogger() |
| 120 | + root.handlers.clear() |
| 121 | + root.setLevel(logging.INFO) |
| 122 | + |
| 123 | + formatter = logging.Formatter( |
| 124 | + "%(asctime)s - %(levelname)s - %(module)s - %(message)s" |
121 | 125 | ) |
| 126 | + |
| 127 | + # Info/warning to stdout |
| 128 | + stdout_handler = logging.StreamHandler(sys.stdout) |
| 129 | + stdout_handler.setLevel(logging.DEBUG) |
| 130 | + stdout_handler.setFormatter(formatter) |
| 131 | + stdout_handler.addFilter(lambda r: r.levelno < logging.ERROR) |
| 132 | + |
| 133 | + # Errors to stderr |
| 134 | + stderr_handler = logging.StreamHandler(sys.stderr) |
| 135 | + stderr_handler.setLevel(logging.ERROR) |
| 136 | + stderr_handler.setFormatter(formatter) |
| 137 | + |
| 138 | + root.addHandler(stdout_handler) |
| 139 | + root.addHandler(stderr_handler) |
| 140 | + |
122 | 141 | logger = logging.getLogger(__name__) |
123 | 142 |
|
124 | 143 | # Datetime |
@@ -220,11 +239,11 @@ def update_readme( |
220 | 239 | entry_start_index = lines.index(entry_start_line) |
221 | 240 | entry_end_index = lines.index(entry_end_line) |
222 | 241 | # Include any trailing empty/whitespace-only lines |
223 | | - while entry_end_index + 1 < len(lines): |
224 | | - if not lines[entry_end_index + 1].strip(): |
225 | | - entry_end_index += 1 |
226 | | - else: |
227 | | - break |
| 242 | + while ( |
| 243 | + entry_end_index + 1 < len(lines) |
| 244 | + and not lines[entry_end_index + 1].strip() |
| 245 | + ): |
| 246 | + entry_end_index += 1 |
228 | 247 | # Initalize variables of entry is not present |
229 | 248 | else: |
230 | 249 | entry_start_index = None |
|
0 commit comments