From c105ec5eba47ff2be39f9ffeddc1255838c17142 Mon Sep 17 00:00:00 2001 From: kmaslenkovsap <91725578+kmaslenkovsap@users.noreply.github.com> Date: Wed, 11 May 2022 15:01:52 +0300 Subject: [PATCH 01/11] update django version 2.2.28 (#66) --- CHANGELOG.md | 6 ++++++ sap/cf_logging/__init__.py | 2 +- test-requirements.txt | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ce2317..b658b6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ This project adheres to [Semantic Versioning](http://semver.org/). The format is based on [Keep a Changelog](http://keepachangelog.com/). +## 4.2.4 - 2022-04-26 + +### Update + + - Update django version => 2.2.28 + ## 4.2.3 - 2022-03-23 ### Fixed diff --git a/sap/cf_logging/__init__.py b/sap/cf_logging/__init__.py index a9f07a0..8610d08 100644 --- a/sap/cf_logging/__init__.py +++ b/sap/cf_logging/__init__.py @@ -10,7 +10,7 @@ from sap.cf_logging.record.request_log_record import RequestWebRecord from sap.cf_logging.record.simple_log_record import SimpleLogRecord -__version__ = '4.2.3' +__version__ = '4.2.4' _SETUP_DONE = False FRAMEWORK = None diff --git a/test-requirements.txt b/test-requirements.txt index f06157b..e6cf178 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -14,4 +14,4 @@ pylint==1.9.5; python_version == '2.7' pylint==2.5.3; python_version >= '3.5' tox django==1.11.29; python_version == '2.7' -django==2.2.13; python_version >= '3.5' +django==2.2.28; python_version >= '3.5' From b7007c74e74c9370976184aa0b4d736cb3beb973 Mon Sep 17 00:00:00 2001 From: Michael Haas Date: Tue, 1 Aug 2023 13:10:23 +0200 Subject: [PATCH 02/11] fix: include stacktrace for non-error logs (#69) The Python logging framework allows users to pass an exc_info kwarg to the logging methods, in which case the stacktrace is included even if loggers other than Logger.exception() is used. --- CHANGELOG.md | 6 ++++++ sap/cf_logging/__init__.py | 2 +- sap/cf_logging/record/simple_log_record.py | 2 +- setup.py | 3 +++ tests/test_job_logging.py | 19 +++++++++++++++++++ 5 files changed, 30 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b658b6c..ac7b605 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ This project adheres to [Semantic Versioning](http://semver.org/). The format is based on [Keep a Changelog](http://keepachangelog.com/). +## 4.2.5 - 2023-07-28 + +### Fixed + +- Include stacktrace also for non-error log level if exc_info is present + ## 4.2.4 - 2022-04-26 ### Update diff --git a/sap/cf_logging/__init__.py b/sap/cf_logging/__init__.py index 8610d08..1d4fdef 100644 --- a/sap/cf_logging/__init__.py +++ b/sap/cf_logging/__init__.py @@ -10,7 +10,7 @@ from sap.cf_logging.record.request_log_record import RequestWebRecord from sap.cf_logging.record.simple_log_record import SimpleLogRecord -__version__ = '4.2.4' +__version__ = '4.2.5' _SETUP_DONE = False FRAMEWORK = None diff --git a/sap/cf_logging/record/simple_log_record.py b/sap/cf_logging/record/simple_log_record.py index 59174fe..87accb4 100644 --- a/sap/cf_logging/record/simple_log_record.py +++ b/sap/cf_logging/record/simple_log_record.py @@ -75,7 +75,7 @@ def format(self): 'msg': self.getMessage(), }) - if self.levelno == logging.ERROR and self.exc_info: + if self.exc_info: stacktrace = ''.join(traceback.format_exception(*self.exc_info)) stacktrace = format_stacktrace(stacktrace) record['stacktrace'] = stacktrace.split('\n') diff --git a/setup.py b/setup.py index 9a04ca7..48e8966 100644 --- a/setup.py +++ b/setup.py @@ -38,6 +38,9 @@ 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Software Development', 'Topic :: System :: Logging', diff --git a/tests/test_job_logging.py b/tests/test_job_logging.py index 7cb2aaa..6e22fc4 100644 --- a/tests/test_job_logging.py +++ b/tests/test_job_logging.py @@ -68,6 +68,25 @@ def test_exception_stacktrace(): assert error == {} assert 'ZeroDivisionError' in str(log_json['stacktrace']) + assert 'ZeroDivisionError' in log_json["msg"] + + +def test_exception_stacktrace_info_level(): + """ Test exception stacktrace is logged """ + cf_logging.init(level=logging.DEBUG) + logger, stream = config_logger('cli.test') + + try: + return 1 / 0 + except ZeroDivisionError as exc: + logger.info('zero division error', exc_info=exc) + log_json = JSONDecoder().decode(stream.getvalue()) + _, error = JsonValidator(JOB_LOG_SCHEMA).validate(log_json) + + assert error == {} + assert 'ZeroDivisionError' in str(log_json['stacktrace']) + assert 'ZeroDivisionError' in log_json["msg"] + def test_custom_fields_set(): """ Test custom fields are set up """ From 0eb770052ffcefb769c16de9816c19f8a48fa912 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Feb 2024 17:56:49 +0000 Subject: [PATCH 03/11] Bump django from 1.11.29 to 3.2.24 Bumps [django](https://github.com/django/django) from 1.11.29 to 3.2.24. - [Commits](https://github.com/django/django/compare/1.11.29...3.2.24) --- updated-dependencies: - dependency-name: django dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- test-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-requirements.txt b/test-requirements.txt index e6cf178..8a5f424 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -14,4 +14,4 @@ pylint==1.9.5; python_version == '2.7' pylint==2.5.3; python_version >= '3.5' tox django==1.11.29; python_version == '2.7' -django==2.2.28; python_version >= '3.5' +django==3.2.24; python_version >= '3.5' From 7b70bae912941eac781b931418d49fd24124dce3 Mon Sep 17 00:00:00 2001 From: tnikolova82 <97507942+tnikolova82@users.noreply.github.com> Date: Mon, 26 Feb 2024 14:57:57 +0200 Subject: [PATCH 04/11] Update CHANGELOG.md --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac7b605..9d4756a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ This project adheres to [Semantic Versioning](http://semver.org/). The format is based on [Keep a Changelog](http://keepachangelog.com/). +## 4.2.6 - 2024-02-26 + +### Update + + - Update django version => 3.2.24 + ## 4.2.5 - 2023-07-28 ### Fixed From 768868acd004a29c259662c62867cbcddde116a4 Mon Sep 17 00:00:00 2001 From: i343759 Date: Mon, 26 Feb 2024 15:12:02 +0200 Subject: [PATCH 05/11] intit.py update version 4.2.6 --- sap/cf_logging/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sap/cf_logging/__init__.py b/sap/cf_logging/__init__.py index 1d4fdef..6b5db7f 100644 --- a/sap/cf_logging/__init__.py +++ b/sap/cf_logging/__init__.py @@ -10,7 +10,7 @@ from sap.cf_logging.record.request_log_record import RequestWebRecord from sap.cf_logging.record.simple_log_record import SimpleLogRecord -__version__ = '4.2.5' +__version__ = '4.2.6' _SETUP_DONE = False FRAMEWORK = None From b787c6a6b496c207c1094bdcde8c14bd35ce4bba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 21:50:59 +0000 Subject: [PATCH 06/11] Bump django from 1.11.29 to 3.2.25 Bumps [django](https://github.com/django/django) from 1.11.29 to 3.2.25. - [Commits](https://github.com/django/django/compare/1.11.29...3.2.25) --- updated-dependencies: - dependency-name: django dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- test-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-requirements.txt b/test-requirements.txt index 8a5f424..8758159 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -14,4 +14,4 @@ pylint==1.9.5; python_version == '2.7' pylint==2.5.3; python_version >= '3.5' tox django==1.11.29; python_version == '2.7' -django==3.2.24; python_version >= '3.5' +django==3.2.25; python_version >= '3.5' From 5a84f713f3e5185a46f96c7c6f700779e61aec69 Mon Sep 17 00:00:00 2001 From: i041084 Date: Wed, 26 Jun 2024 15:23:06 +0300 Subject: [PATCH 07/11] remove stacktrace from message --- sap/cf_logging/record/simple_log_record.py | 2 +- tests/test_job_logging.py | 4 ++-- tests/unit/formatters/test_json_formatter.py | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/sap/cf_logging/record/simple_log_record.py b/sap/cf_logging/record/simple_log_record.py index 87accb4..5054894 100644 --- a/sap/cf_logging/record/simple_log_record.py +++ b/sap/cf_logging/record/simple_log_record.py @@ -80,7 +80,7 @@ def format(self): stacktrace = format_stacktrace(stacktrace) record['stacktrace'] = stacktrace.split('\n') record['msg'] += "\n" - record['msg'] += stacktrace + # record['msg'] += stacktrace record.update(self.extra) diff --git a/tests/test_job_logging.py b/tests/test_job_logging.py index 6e22fc4..c3abc79 100644 --- a/tests/test_job_logging.py +++ b/tests/test_job_logging.py @@ -68,7 +68,7 @@ def test_exception_stacktrace(): assert error == {} assert 'ZeroDivisionError' in str(log_json['stacktrace']) - assert 'ZeroDivisionError' in log_json["msg"] + assert log_json["msg"] == 'zero division error\n' def test_exception_stacktrace_info_level(): @@ -85,7 +85,7 @@ def test_exception_stacktrace_info_level(): assert error == {} assert 'ZeroDivisionError' in str(log_json['stacktrace']) - assert 'ZeroDivisionError' in log_json["msg"] + assert log_json["msg"] == 'zero division error\n' def test_custom_fields_set(): diff --git a/tests/unit/formatters/test_json_formatter.py b/tests/unit/formatters/test_json_formatter.py index 3144c99..251de4f 100644 --- a/tests/unit/formatters/test_json_formatter.py +++ b/tests/unit/formatters/test_json_formatter.py @@ -48,5 +48,4 @@ def test_stacktrace_is_added_to_msg_field(): assert "Dummy Exception" in "".join(record_object["stacktrace"]) expected_msg = "Error found!" expected_msg += "\n" - expected_msg += "\n".join(record_object["stacktrace"]) assert record_object["msg"] == expected_msg From 535af4d18115726bd5bb5ca02d66db69c895b614 Mon Sep 17 00:00:00 2001 From: i041084 Date: Wed, 26 Jun 2024 15:44:10 +0300 Subject: [PATCH 08/11] clean --- sap/cf_logging/record/simple_log_record.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sap/cf_logging/record/simple_log_record.py b/sap/cf_logging/record/simple_log_record.py index 5054894..674207a 100644 --- a/sap/cf_logging/record/simple_log_record.py +++ b/sap/cf_logging/record/simple_log_record.py @@ -80,7 +80,6 @@ def format(self): stacktrace = format_stacktrace(stacktrace) record['stacktrace'] = stacktrace.split('\n') record['msg'] += "\n" - # record['msg'] += stacktrace record.update(self.extra) From ee97b6a019c027cab98f09d6c7247b1a4d3229a8 Mon Sep 17 00:00:00 2001 From: Tsvetelina Marinova Date: Thu, 27 Jun 2024 16:30:59 +0300 Subject: [PATCH 09/11] version update --- sap/cf_logging/__init__.py | 2 +- sap/cf_logging/record/simple_log_record.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/sap/cf_logging/__init__.py b/sap/cf_logging/__init__.py index 6b5db7f..2a45bc9 100644 --- a/sap/cf_logging/__init__.py +++ b/sap/cf_logging/__init__.py @@ -10,7 +10,7 @@ from sap.cf_logging.record.request_log_record import RequestWebRecord from sap.cf_logging.record.simple_log_record import SimpleLogRecord -__version__ = '4.2.6' +__version__ = '4.2.7' _SETUP_DONE = False FRAMEWORK = None diff --git a/sap/cf_logging/record/simple_log_record.py b/sap/cf_logging/record/simple_log_record.py index 674207a..af8f151 100644 --- a/sap/cf_logging/record/simple_log_record.py +++ b/sap/cf_logging/record/simple_log_record.py @@ -79,7 +79,6 @@ def format(self): stacktrace = ''.join(traceback.format_exception(*self.exc_info)) stacktrace = format_stacktrace(stacktrace) record['stacktrace'] = stacktrace.split('\n') - record['msg'] += "\n" record.update(self.extra) From 226c79bdf415f8e0650766fa3b8f55ed74e9bdcc Mon Sep 17 00:00:00 2001 From: i041084 Date: Thu, 27 Jun 2024 16:41:28 +0300 Subject: [PATCH 10/11] adapt tests and changelog --- CHANGELOG.md | 6 ++++++ tests/test_job_logging.py | 4 ++-- tests/unit/formatters/test_json_formatter.py | 1 - 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d4756a..a6c6f76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ This project adheres to [Semantic Versioning](http://semver.org/). The format is based on [Keep a Changelog](http://keepachangelog.com/). +## 4.2.7 - 2024-06-27 + +### Fixed + + - Remove stacktrace from the message element of the log + ## 4.2.6 - 2024-02-26 ### Update diff --git a/tests/test_job_logging.py b/tests/test_job_logging.py index c3abc79..b7e1aec 100644 --- a/tests/test_job_logging.py +++ b/tests/test_job_logging.py @@ -68,7 +68,7 @@ def test_exception_stacktrace(): assert error == {} assert 'ZeroDivisionError' in str(log_json['stacktrace']) - assert log_json["msg"] == 'zero division error\n' + assert log_json["msg"] == 'zero division error' def test_exception_stacktrace_info_level(): @@ -85,7 +85,7 @@ def test_exception_stacktrace_info_level(): assert error == {} assert 'ZeroDivisionError' in str(log_json['stacktrace']) - assert log_json["msg"] == 'zero division error\n' + assert log_json["msg"] == 'zero division error' def test_custom_fields_set(): diff --git a/tests/unit/formatters/test_json_formatter.py b/tests/unit/formatters/test_json_formatter.py index 251de4f..56b3b8d 100644 --- a/tests/unit/formatters/test_json_formatter.py +++ b/tests/unit/formatters/test_json_formatter.py @@ -47,5 +47,4 @@ def test_stacktrace_is_added_to_msg_field(): record_object = json.loads(FORMATTER.format(log_record)) assert "Dummy Exception" in "".join(record_object["stacktrace"]) expected_msg = "Error found!" - expected_msg += "\n" assert record_object["msg"] == expected_msg From 06c6febbe6585d830963953b97b75d91650d6b93 Mon Sep 17 00:00:00 2001 From: Tsvetelina Marinova Date: Fri, 28 Jun 2024 10:38:58 +0300 Subject: [PATCH 11/11] version 4.2.7 (#78) Co-authored-by: Tsvetelina Marinova --- CHANGELOG.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6c6f76..7a6dfaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). The format is based on [Keep a Changelog](http://keepachangelog.com/). + ## 4.2.7 - 2024-06-27 ### Fixed @@ -41,7 +42,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). - Fix stacktrace format - ## 4.2.1 - 2021-02-23 ### Added @@ -52,21 +52,18 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). - Fix context store for Sanic - ## 4.1.1 - 2019-04-19 ### Fixed - Fix logging not usable outside request - ## 4.1.0 - 2018-09-13 ### Added - Django support - ## 4.0.1 - 2018-07-10 ### Fixed