Skip to content

Commit 77da743

Browse files
authored
Merge branch 'master' into fix/encoding_fallback
2 parents 0bb8577 + 2d36457 commit 77da743

File tree

3 files changed

+23
-19
lines changed

3 files changed

+23
-19
lines changed

cognite/extractorutils/unstable/core/base.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -220,14 +220,13 @@ def _setup_logging(self) -> None:
220220
case LogConsoleHandlerConfig() as console_handler:
221221
sh = logging.StreamHandler()
222222
sh.setFormatter(fmt)
223-
level_for_handler = _resolve_log_level(
224-
self.log_level_override if self.log_level_override else console_handler.level.value
225-
)
223+
level_for_handler = _resolve_log_level(self.log_level_override or console_handler.level.value)
226224
sh.setLevel(level_for_handler)
227225

228226
root.addHandler(sh)
229227

230228
case LogFileHandlerConfig() as file_handler:
229+
level_for_handler = _resolve_log_level(self.log_level_override or file_handler.level.value)
231230
try:
232231
fh = RobustFileHandler(
233232
filename=file_handler.path,
@@ -236,23 +235,20 @@ def _setup_logging(self) -> None:
236235
backupCount=file_handler.retention,
237236
create_dirs=True,
238237
)
239-
level_for_handler = _resolve_log_level(
240-
self.log_level_override if self.log_level_override else file_handler.level.value
241-
)
242238
fh.setLevel(level_for_handler)
243239
fh.setFormatter(fmt)
244240

245241
root.addHandler(fh)
246242
except (OSError, PermissionError) as e:
247-
self._logger.warning(
248-
f"Could not create or write to log file {file_handler.path}: {e}. "
249-
"Falling back to console logging."
250-
)
251243
if not any(isinstance(h, logging.StreamHandler) for h in root.handlers):
252244
sh = logging.StreamHandler()
253245
sh.setFormatter(fmt)
254246
sh.setLevel(level_for_handler)
255247
root.addHandler(sh)
248+
self._logger.warning(
249+
f"Could not create or write to log file {file_handler.path}: {e}. "
250+
"Defaulted to console logging."
251+
)
256252

257253
def _load_state_store(self) -> None:
258254
"""

cognite/extractorutils/unstable/core/runtime.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,8 @@ def _create_argparser(self) -> ArgumentParser:
180180
choices=["debug", "info", "warning", "error", "critical"],
181181
type=str,
182182
required=False,
183-
default="info",
184-
help="Set the logging level for the runtime. Default is 'info'.",
183+
default=None,
184+
help="Set the logging level for the runtime.",
185185
)
186186
argparser.add_argument(
187187
"--skip-init-checks",

tests/test_unstable/test_base.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
ConnectionConfig,
1515
LocalStateStoreConfig,
1616
LogConsoleHandlerConfig,
17+
LogFileHandlerConfig,
18+
LogHandlerConfig,
1719
LogLevel,
1820
RawStateStoreConfig,
1921
StateStoreConfig,
@@ -36,32 +38,38 @@ def get_checkin_worker(connection_config: ConnectionConfig) -> CheckinWorker:
3638

3739

3840
@pytest.mark.parametrize(
39-
"config_level, override_level, expected_logs, unexpected_logs",
41+
"log_handlers, override_level, expected_logs, unexpected_logs",
4042
[
4143
(
42-
"INFO",
44+
[LogConsoleHandlerConfig(type="console", level=LogLevel("INFO"))],
4345
None,
4446
["This is an info message.", "This is a warning message."],
4547
["This is a debug message."],
4648
),
4749
(
48-
"INFO",
50+
[LogConsoleHandlerConfig(type="console", level=LogLevel("INFO"))],
4951
"DEBUG",
5052
["This is a debug message.", "This is an info message.", "This is a warning message."],
5153
[],
5254
),
5355
(
54-
"INFO",
56+
[LogConsoleHandlerConfig(type="console", level=LogLevel("INFO"))],
5557
"WARNING",
5658
["This is a warning message."],
5759
["This is a debug message.", "This is an info message."],
5860
),
61+
(
62+
[LogFileHandlerConfig(type="file", level=LogLevel("INFO"), path=Path("non-existing/test.log"))],
63+
"WARNING",
64+
["This is a warning message."],
65+
["Falling back to console logging.", "This is a debug message.", "This is an info message."],
66+
),
5967
],
6068
)
6169
def test_log_level_override(
6270
capsys: pytest.CaptureFixture[str],
6371
connection_config: ConnectionConfig,
64-
config_level: str,
72+
log_handlers: list[LogHandlerConfig],
6573
override_level: str | None,
6674
expected_logs: list[str],
6775
unexpected_logs: list[str],
@@ -73,7 +81,7 @@ def test_log_level_override(
7381
app_config = TestConfig(
7482
parameter_one=1,
7583
parameter_two="a",
76-
log_handlers=[LogConsoleHandlerConfig(type="console", level=LogLevel(config_level))],
84+
log_handlers=log_handlers,
7785
)
7886

7987
full_config = FullConfig(
@@ -163,7 +171,7 @@ def test_local_state_store_integration(local_state_file: Path, connection_config
163171

164172

165173
@pytest.fixture(scope="function")
166-
def raw_db_table_name() -> str:
174+
def raw_db_table_name() -> tuple[str, str]:
167175
"""Provides a unique database name for a single test function run."""
168176
test_id = random.randint(0, int(1e9))
169177
return f"test_db_{test_id}", f"test_table_{test_id}"

0 commit comments

Comments
 (0)