On Thu, Jan 16, 2014 at 06:31:02PM +0800, me,apporc wrote:
Dear developers,
As we know libvirt.py using libvirtmod.so, eg:
def defineXML(self, xml):
"""Define a domain, but does not start it.
This definition is persistent, until explicitly undefined with
virDomainUndefine(). A previous definition for this domain would be
overriden if it already exists. """
ret = libvirtmod.virDomainDefineXML(self._o, xml)
if ret is None:raise libvirtError('virDomainDefineXML() failed',
conn=self)
__tmp = virDomain(self,_obj=ret)
return __tmp
In my python program
#test.py
import libvirt
conn=libvirt.open("qemu:///system")
xml=...
conn.defineXML(xml) # Because i need this xml to be wrong for feature
testing here
# Error will happen here, and error message is printed to stderr.
The error message is annoying.
I need to know how to hide the error message printing to stderr by
libvirtmod.
After i add sys.stderr = open('xxx', 'w') before invoking
conn.defineXML(xml), the error message is still printed to the terminal.
Which means, i can redirect stderr to anywhere else in my python program,
but it changes back to terminal when control flow go to libvirtmod.
Do this:
def libvirt_ignore(ignore, err):
pass
libvirt.registerErrorHandler(f=libvirt_ignore, ctx=None)
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|