Skip to content

gh-90535: Fix support of interval>1 in logging.TimedRotatingFileHandler#116220

Merged
serhiy-storchaka merged 3 commits into
python:mainfrom
serhiy-storchaka:logging-rotate-interwal
Mar 16, 2024
Merged

gh-90535: Fix support of interval>1 in logging.TimedRotatingFileHandler#116220
serhiy-storchaka merged 3 commits into
python:mainfrom
serhiy-storchaka:logging-rotate-interwal

Conversation

@serhiy-storchaka

@serhiy-storchaka serhiy-storchaka commented Mar 1, 2024

Copy link
Copy Markdown
Member

Fix support of interval values > 1 in logging.TimedRotatingFileHandler for when='MIDNIGHT' and when='Wx'.

…eHandler

Fix support of interval values > 1 in logging.TimedRotatingFileHandler
for when='MIDNIGHT' and when='Wx'.
@serhiy-storchaka

Copy link
Copy Markdown
Member Author

@vsajip, please take a look. It is a surprisingly tiny change.

@vsajip vsajip left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one minor suggestion. Otherwise looks fine. Thank you very much for all your work on TimedRotatingFileHandler, Serhiy!

Comment thread Lib/logging/handlers.py Outdated
else:
daysToWait = 6 - day + self.dayOfWeek + 1
result += daysToWait * (60 * 60 * 24)
if self.when == 'MIDNIGHT':

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be an elif, right?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, because the else branch should be executed when self.when.startswith('W').

I see now that two ifs can be merged:

            if self.when.startswith('W'):
                day = currentDay # 0 is Monday
                if day != self.dayOfWeek:
                    if day < self.dayOfWeek:
                        daysToWait = self.dayOfWeek - day
                    else:
                        daysToWait = 6 - day + self.dayOfWeek + 1
                    result += daysToWait * _MIDNIGHT
                result += self.interval - _MIDNIGHT * 7
            else:
                result += self.interval - _MIDNIGHT

@bedevere-app

bedevere-app Bot commented Mar 14, 2024

Copy link
Copy Markdown

When you're done making the requested changes, leave the comment: I have made the requested changes; please review again.

@serhiy-storchaka

Copy link
Copy Markdown
Member Author

I have made the requested changes; please review again.

@bedevere-app

bedevere-app Bot commented Mar 15, 2024

Copy link
Copy Markdown

Thanks for making the requested changes!

@vsajip: please review the changes made to this pull request.

@bedevere-app bedevere-app Bot requested a review from vsajip March 15, 2024 11:21
@serhiy-storchaka serhiy-storchaka merged commit 269051d into python:main Mar 16, 2024
@serhiy-storchaka serhiy-storchaka deleted the logging-rotate-interwal branch March 16, 2024 10:29
@serhiy-storchaka serhiy-storchaka added needs backport to 3.11 only security fixes needs backport to 3.12 only security fixes labels Mar 16, 2024
@miss-islington-app

Copy link
Copy Markdown

Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12.
🐍🍒⛏🤖

@miss-islington-app

Copy link
Copy Markdown

Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 16, 2024
…eHandler (pythonGH-116220)

Fix support of interval values > 1 in logging.TimedRotatingFileHandler
for when='MIDNIGHT' and when='Wx'.
(cherry picked from commit 269051d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
@bedevere-app

bedevere-app Bot commented Mar 16, 2024

Copy link
Copy Markdown

GH-116892 is a backport of this pull request to the 3.12 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.12 only security fixes label Mar 16, 2024
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 16, 2024
…eHandler (pythonGH-116220)

Fix support of interval values > 1 in logging.TimedRotatingFileHandler
for when='MIDNIGHT' and when='Wx'.
(cherry picked from commit 269051d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
@bedevere-app

bedevere-app Bot commented Mar 16, 2024

Copy link
Copy Markdown

GH-116893 is a backport of this pull request to the 3.11 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.11 only security fixes label Mar 16, 2024
serhiy-storchaka added a commit that referenced this pull request Mar 18, 2024
…leHandler (GH-116220) (GH-116892)

Fix support of interval values > 1 in logging.TimedRotatingFileHandler
for when='MIDNIGHT' and when='Wx'.
(cherry picked from commit 269051d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
serhiy-storchaka added a commit that referenced this pull request Mar 18, 2024
…leHandler (GH-116220) (GH-116893)

Fix support of interval values > 1 in logging.TimedRotatingFileHandler
for when='MIDNIGHT' and when='Wx'.
(cherry picked from commit 269051d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
vstinner pushed a commit to vstinner/cpython that referenced this pull request Mar 20, 2024
…eHandler (pythonGH-116220)

Fix support of interval values > 1 in logging.TimedRotatingFileHandler
for when='MIDNIGHT' and when='Wx'.
adorilson pushed a commit to adorilson/cpython that referenced this pull request Mar 25, 2024
…eHandler (pythonGH-116220)

Fix support of interval values > 1 in logging.TimedRotatingFileHandler
for when='MIDNIGHT' and when='Wx'.
diegorusso pushed a commit to diegorusso/cpython that referenced this pull request Apr 17, 2024
…eHandler (pythonGH-116220)

Fix support of interval values > 1 in logging.TimedRotatingFileHandler
for when='MIDNIGHT' and when='Wx'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants