[issue19528] logger.config.fileConfig cant cope with files starting with an 'r' on windows

2013-11-08 Thread Eric V. Smith

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

2013-11-08 Thread Simon Naish

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

2013-11-08 Thread Eric V. Smith

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

2013-11-08 Thread Simon Naish

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

2013-11-08 Thread Eric V. Smith

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

2013-11-08 Thread Simon Naish

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

2013-11-08 Thread Simon Naish

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

2013-11-08 Thread Simon Naish

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

2013-11-08 Thread Eric V. Smith

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

2013-11-08 Thread Peter Otten

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

2013-11-08 Thread Simon Naish

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

2013-11-08 Thread Eric V. Smith

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