Skip to content

Commit 9d71171

Browse files
committed
rimport: configure_logging() now requires level.
1 parent 7311b72 commit 9d71171

2 files changed

Lines changed: 13 additions & 23 deletions

File tree

rimport

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ def print_can_file_be_downloaded(file_can_be_downloaded: bool):
327327
logger.info("%sFile is not (yet) available for download.", INDENT)
328328

329329

330-
def configure_logging(log_level: int = logging.INFO) -> None:
330+
def configure_logging(log_level: int) -> None:
331331
"""Configure logging to send INFO/WARNING to stdout and ERROR/CRITICAL to stderr.
332332
333333
Sets up two handlers:
@@ -337,7 +337,7 @@ def configure_logging(log_level: int = logging.INFO) -> None:
337337
Both handlers use simple message-only formatting without timestamps or level names.
338338
339339
Args:
340-
log_level: Minimum logging level (DEBUG, INFO, or WARNING). Default is INFO.
340+
log_level: Minimum logging level (DEBUG, INFO, or WARNING).
341341
"""
342342
logger.setLevel(log_level)
343343

tests/rimport/test_configure_logging.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,17 @@ def cleanup_logger(self):
3535

3636
def test_sets_logger_level_to_info(self):
3737
"""Test that configure_logging sets the logger level to INFO."""
38-
rimport.configure_logging()
38+
rimport.configure_logging(logging.INFO)
3939
assert rimport.logger.level == logging.INFO
4040

4141
def test_creates_two_handlers(self):
4242
"""Test that configure_logging creates exactly two handlers."""
43-
rimport.configure_logging()
43+
rimport.configure_logging(logging.INFO)
4444
assert len(rimport.logger.handlers) == 2
4545

4646
def test_info_handler_goes_to_stdout(self, capsys):
4747
"""Test that INFO level messages go to stdout."""
48-
rimport.configure_logging()
48+
rimport.configure_logging(logging.INFO)
4949
rimport.logger.info("Test info message")
5050

5151
captured = capsys.readouterr()
@@ -54,7 +54,7 @@ def test_info_handler_goes_to_stdout(self, capsys):
5454

5555
def test_warning_handler_goes_to_stdout(self, capsys):
5656
"""Test that WARNING level messages go to stdout."""
57-
rimport.configure_logging()
57+
rimport.configure_logging(logging.INFO)
5858
rimport.logger.warning("Test warning message")
5959

6060
captured = capsys.readouterr()
@@ -63,7 +63,7 @@ def test_warning_handler_goes_to_stdout(self, capsys):
6363

6464
def test_error_handler_goes_to_stderr(self, capsys):
6565
"""Test that ERROR level messages go to stderr."""
66-
rimport.configure_logging()
66+
rimport.configure_logging(logging.INFO)
6767
rimport.logger.error("Test error message")
6868

6969
captured = capsys.readouterr()
@@ -72,22 +72,13 @@ def test_error_handler_goes_to_stderr(self, capsys):
7272

7373
def test_critical_handler_goes_to_stderr(self, capsys):
7474
"""Test that CRITICAL level messages go to stderr."""
75-
rimport.configure_logging()
75+
rimport.configure_logging(logging.INFO)
7676
rimport.logger.critical("Test critical message")
7777

7878
captured = capsys.readouterr()
7979
assert captured.out == ""
8080
assert "Test critical message" in captured.err
8181

82-
def test_debug_messages_not_logged_if_info(self, capsys):
83-
"""Test that DEBUG level messages are not logged if logger level is INFO."""
84-
rimport.configure_logging()
85-
rimport.logger.debug("Test debug message")
86-
87-
captured = capsys.readouterr()
88-
assert captured.out == ""
89-
assert captured.err == ""
90-
9182
def test_clears_existing_handlers(self):
9283
"""Test that configure_logging clears any existing handlers."""
9384
# Add a dummy handler
@@ -97,15 +88,15 @@ def test_clears_existing_handlers(self):
9788
assert len(rimport.logger.handlers) >= 1
9889

9990
# Configure logging
100-
rimport.configure_logging()
91+
rimport.configure_logging(logging.INFO)
10192

10293
# Verify old handlers were cleared and new ones added
10394
assert len(rimport.logger.handlers) == 2
10495
assert dummy_handler not in rimport.logger.handlers
10596

10697
def test_formatter_uses_message_only(self, capsys):
10798
"""Test that the formatter outputs only the message without level/timestamp."""
108-
rimport.configure_logging()
99+
rimport.configure_logging(logging.INFO)
109100
rimport.logger.info("Simple message")
110101

111102
captured = capsys.readouterr()
@@ -115,13 +106,13 @@ def test_formatter_uses_message_only(self, capsys):
115106

116107
def test_multiple_calls_dont_duplicate_handlers(self):
117108
"""Test that calling configure_logging multiple times doesn't duplicate handlers."""
118-
rimport.configure_logging()
109+
rimport.configure_logging(logging.INFO)
119110
assert len(rimport.logger.handlers) == 2
120111

121-
rimport.configure_logging()
112+
rimport.configure_logging(logging.INFO)
122113
assert len(rimport.logger.handlers) == 2 # Still 2, not 4
123114

124-
rimport.configure_logging()
115+
rimport.configure_logging(logging.INFO)
125116
assert len(rimport.logger.handlers) == 2 # Still 2, not 6
126117

127118
def test_configure_with_debug_level(self, capsys):
@@ -158,4 +149,3 @@ def test_configure_with_info_level_suppresses_debug(self, capsys):
158149

159150
captured = capsys.readouterr()
160151
assert "Debug message" not in captured.out
161-
assert "Info message" in captured.out

0 commit comments

Comments
 (0)