Re: [libvirt] [Python] libvirt.libvirtError output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ivan Vovk wrote:
> Hello,
> 
> i have the following piece of pyhton test code:
> 
> try:
>      dom = conn.createXML(xmldata, 0)
> except libvirt.libvirtError, le:
>       sys.stderr.write(le.message)
> as a result in case of exception i get 2 outputs in stderr:
> 
> libvir: OpenVZ error : operation failed: Already an OPENVZ VM defined with the id '3005'
> operation failed: Already an OPENVZ VM defined with the id '3005'
> 
> Actually, i just need only second string, which is generated by sys.stderr.write(le.message).
> 
> Can an exception be raised without "uncontrolled" direction to stderr (fisrt string)?
> 

Yes, you have to set a libvirt error handler, which allows the app to do
whatever they want with the raised libvirt message that by default is
printed to stderr. Here is what we use in virt-manager and virt-install:

# Register libvirt handler
def libvirt_callback(ignore, err):
   if err[3] != libvirt.VIR_ERR_ERROR:
       # Don't log libvirt errors: global error handler will do that
       logging.warn("Non-error from libvirt: '%s'" % err[2])
libvirt.registerErrorHandler(f=libvirt_callback, ctx=None)

- Cole

--
Libvir-list mailing list
Libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]