diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2016-07-22 17:23:04 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2016-07-22 17:23:04 (GMT) |
commit | 638e6220557db50b01653b410eb12f11b9b8ab1c (patch) | |
tree | b685830fe324decdb9c7a5dc68abb31ccd32c617 /Lib/logging | |
parent | d3afb62b8fb38417c3f0bf6873ed64bd9efd8e43 (diff) | |
download | cpython-638e6220557db50b01653b410eb12f11b9b8ab1c.zip cpython-638e6220557db50b01653b410eb12f11b9b8ab1c.tar.gz cpython-638e6220557db50b01653b410eb12f11b9b8ab1c.tar.bz2 |
Closes #27493: accepted Path objects in file handlers for logging.
Diffstat (limited to 'Lib/logging')
-rw-r--r-- | Lib/logging/__init__.py | 6 | ||||
-rw-r--r-- | Lib/logging/handlers.py | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index f941f48..fd422ea 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2001-2015 by Vinay Sajip. All Rights Reserved. +# Copyright 2001-2016 by Vinay Sajip. All Rights Reserved. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, @@ -18,7 +18,7 @@ Logging package for Python. Based on PEP 282 and comments thereto in comp.lang.python. -Copyright (C) 2001-2015 Vinay Sajip. All Rights Reserved. +Copyright (C) 2001-2016 Vinay Sajip. All Rights Reserved. To use, simply 'import logging' and log away! """ @@ -994,6 +994,8 @@ class FileHandler(StreamHandler): """ Open the specified file and use it as the stream for logging. """ + # Issue #27493: add support for Path objects to be passed in + filename = os.fspath(filename) #keep the absolute path, otherwise derived classes which use this #may come a cropper when the current directory changes self.baseFilename = os.path.abspath(filename) diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index 296d6cf..ba00a69 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -246,6 +246,9 @@ class TimedRotatingFileHandler(BaseRotatingHandler): self.extMatch = re.compile(self.extMatch, re.ASCII) self.interval = self.interval * interval # multiply by units requested + # The following line added because the filename passed in could be a + # path object (see Issue #27493), but self.baseFilename will be a string + filename = self.baseFilename if os.path.exists(filename): t = os.stat(filename)[ST_MTIME] else: |