[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Eric V. Smith added the comment: It looks like you need to use double-backslashes everywhere in your path, or use single backslashes and raw strings (r). -- nosy: +eric.smith resolution: - invalid status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Simon Naish added the comment: I am using double backslashes in my path. But logger\config.py is losing them, please re-read the issue description, logger\config.py is part of the python libraries! -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Eric V. Smith added the comment: Apologies for reading too quickly. I've reopened this. -- resolution: invalid - status: closed - open ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
New submission from Simon Naish: When attempting to use a config file with logging to set up a series of loggers in a script, when running on windows, if the config file name starts with an 'r' then the script fails with the following error:- File C:\Users\simon\Documents\python dev\RepositoryChainPkg\FileLogger.py, line 45, in fileConfig logging.config.fileConfig(FileLogger.CONF_FILENAME) File C:\Python27\lib\logging\config.py, line 78, in fileConfig handlers = _install_handlers(cp, formatters) File C:\Python27\lib\logging\config.py, line 156, in _install_handlers h = klass(*args) File C:\Python27\lib\logging\handlers.py, line 117, in __init__ BaseRotatingHandler.__init__(self, filename, mode, encoding, delay) File C:\Python27\lib\logging\handlers.py, line 64, in __init__ logging.FileHandler.__init__(self, filename, mode, encoding, delay) File C:\Python27\lib\logging\__init__.py, line 902, in __init__ StreamHandler.__init__(self, self._open()) File C:\Python27\lib\logging\__init__.py, line 925, in _open stream = open(self.baseFilename, self.mode) IOError: [Errno 22] invalid mode ('a') or filename: 'C:\\Users\\simon\repositoryChainLogging\repo_log.log' The same script works perfectly on linux and solaris. Points to note, the config filename (and path) is listed in the error as:- 'C:\\Users\\simon\repositoryChainLogging\repo_log.log' Yet when it is passed to logging\config.py as parameter fname in function fileConfig it is:- b'C:\\Users\\simon\\repositoryChainLogging\\repo_log.conf' In other words the path passed in by the script is correctly seperated and escaped by os.path functions. However in _install_handlers (line 133 of logging\config.py) the args = eval(args, vars(logging))line (154) gets the path back in this tuple:- (b'C:\\Users\\snaish.BRIGHTON\repositoryChainLogging\repo_log.log', b'a', 131072, 10) Where it has clearly lost some of the escaping, rendering the path useless, since \r is a control character, and therefore invalidates the path. Therefore at the moment it is impossible to use logging config fiels beginning with r onw windows at the moment. -- components: Library (Lib) messages: 202422 nosy: 51m0n priority: normal severity: normal status: open title: logger.config.fileConfig cant cope with files starting with an 'r' on windows versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Eric V. Smith added the comment: Can you provide a small, stand-alone program that demonstrates the problem? In particular, I want to see how this filename is provided to logging. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Simon Naish added the comment: Example proggie. It writes its own config file (really_cool_logging.conf), then attempts to read it, all to ~/testlog If you inherit from the class FileLogger with any other class you get instant access to self.log.any logger command which will write debug and above to ~/testlog/really_cool_logging.log, and info and above to the console. Which is really handy when you have a lot of command scripts that you want to log to one place. -- resolution: - invalid status: open - closed Added file: http://bugs.python.org/file32543/TestFileLogger.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Simon Naish added the comment: Updated TestFileLogger, missed a line out in my rush to get you something, sorry! -- Added file: http://bugs.python.org/file32545/TestFileLogger.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Simon Naish added the comment: And again. Damn! -- Added file: http://bugs.python.org/file32546/TestFileLogger.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Changes by Eric V. Smith e...@trueblade.com: -- resolution: invalid - status: closed - open ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Peter Otten added the comment: Simon, in your code you build the config file with '''... args=('{0}', 'a', 131072, 10) ... '''.format(filename) The logging module uses eval() to process the args tuple, and a filename containing a bashlash will not roundtrip that way. Have a look at the .conf file, it contains something like args=('whatever\testlog\really_cool_logging.log', 'a', 131072, 10) when it should be args=('whatever\\testlog\\really_cool_logging.log', 'a', 131072, 10) To fix this you should drop the quote chars and use the string representation of the filename: '''... args=({0!r}, 'a', 131072, 10) ... '''.format(filename) In short: I think Eric was right with initial assumption. -- nosy: +peter.otten ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Simon Naish added the comment: Hi Peter, Oh well spotted! Fair enough, but that is seriously not obvious, thanks. Si -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows
Eric V. Smith added the comment: Thanks, Peter. -- resolution: - invalid stage: - committed/rejected status: open - closed type: - behavior ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19528 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com