Skip to content

Commit 4573716

Browse files
authored
fix: regression 104 (#105)
* chore: trigger docs on new release * chore: trigger docs on new release (#102) (#103) * chore: fix test level typo * fix: add test covering logging constant * fix: return log level int immediately
2 parents 5a08b68 + a46ebb2 commit 4573716

File tree

4 files changed

+21
-5
lines changed

4 files changed

+21
-5
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [1.1.1] - 2020-08-14
10+
### Fixed
11+
- **Logger**: Regression on `Logger` level not accepting `int` i.e. `Logger(level=logging.INFO)`
12+
913
## [1.1.0] - 2020-08-14
1014
### Added
1115
- **Logger**: Support for logger inheritance with `child` parameter

aws_lambda_powertools/logging/logger.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class Logger:
5353
----------
5454
service : str, optional
5555
service name to be appended in logs, by default "service_undefined"
56-
level : str, optional
56+
level : str, int optional
5757
logging.level, by default "INFO"
5858
child: bool, optional
5959
create a child Logger named <service>.<caller_file_name>, False by default
@@ -132,8 +132,11 @@ def __getattr__(self, name):
132132
# https://github.com/awslabs/aws-lambda-powertools-python/issues/97
133133
return getattr(self._logger, name)
134134

135-
def _get_log_level(self, level: str):
135+
def _get_log_level(self, level: Union[str, int]) -> Union[str, int]:
136136
""" Returns preferred log level set by the customer in upper case """
137+
if isinstance(level, int):
138+
return level
139+
137140
log_level: str = level or os.getenv("LOG_LEVEL")
138141
log_level = log_level.upper() if log_level is not None else logging.INFO
139142

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "aws_lambda_powertools"
3-
version = "1.1.0"
3+
version = "1.1.1"
44
description = "Python utilities for AWS Lambda functions including but not limited to tracing, logging and custom metric"
55
authors = ["Amazon Web Services"]
66
classifiers=[

tests/functional/test_logger.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -317,10 +317,19 @@ def test_logger_level_case_insensitive(stdout):
317317
assert logger.level == logging.INFO
318318

319319

320-
def test_logger_level_not_set(stdout):
320+
def test_logger_level_not_set():
321321
# GIVEN a Loggers is initialized
322322
# WHEN no log level was passed
323-
logger = Logger(level="info")
323+
logger = Logger()
324324

325325
# THEN we should default to INFO
326326
assert logger.level == logging.INFO
327+
328+
329+
def test_logger_level_as_int():
330+
# GIVEN a Loggers is initialized
331+
# WHEN log level is int
332+
logger = Logger(level=logging.INFO)
333+
334+
# THEN we should be expected int (20, in this case)
335+
assert logger.level == logging.INFO

0 commit comments

Comments
 (0)