Hi Meme Your capturelog plugin for py.test is very useful, thanks for writing it! But recently I've had the need to be able to modify the recorded loglevel inside the test (or during test setup) mostly to temporarily silence the logging. For this I added a funcarg named "capturelog" which exposes the loghandler (wrapped so it can be used as a context manager too) which seems like a fairly nice way to work. The only ugly part of this is that I had to store the loghandler instance on the function instance as well instead of just on the item.
The second thing I wanted to do was to be able to assert on the contents of log messages, specifically I wanted to ensure there where no critical messages logged. Having the above funcarg already it seemed most logical to just add this to the same loghandler already used by overwriting the .emit() method to store the raw LogRecord instances. I guess you could argue as to weather the list of LogRecord instances or the entire py.io.TextIO version of log should be made available, but I preferred the former. I've cloned your repository at http://bitbucket.org/flub/pytest-capturelog/ to add this functionality, the changes should be pretty simple and obvious. I think it could be useful if you could merge a version of this. Let me know if you have remarks or would like to see things slightly differently. Lastly, while talking on #pylib (IRC) to Holger he mentioned that he wondered if it would be worth to include the capturelog extension as a default plugin in py.test since it is to cooperate with a stdlib module. So if you also think this is interesting you might like to discuss this with him. Regards Floris -- Debian GNU/Linux -- The Power of Freedom www.debian.org | www.gnu.org | www.kernel.org _______________________________________________ py-dev mailing list py-dev@codespeak.net http://codespeak.net/mailman/listinfo/py-dev