Getting customized logging from Blender for monitoring

Hi there!

I am currently rendering a couple of rather long animations using several computers (Windows 7, OSX and Linux). I’m using Cycles GPU rendering, and despite initially promising results from network renderer and other distributed rendering tools, I’ve run into so many problems that I’ve switched back to rendering the animation the old fashioned way: opening the .blend on each PC and render to a shared drive. This works ok, but I am looking for a way to monitor this.

I have monitoring agents on the all the PCs (Zabbix agents) which can read, parse and report on a log file to my monitoring server, and I tried using redirection to a log file, like blender -d -verbose 5 > blender.log for example. This works ok’ish, but for some reason I often get a sudden break in the logging on 2.65 (middle of a line at a random location it simply stops). I suspect this is a redirection issue under Windows and not Blender’s fault, but it still makes a simple redirect to file useless. This logging also gives me a lot more information that I don’t really need, and not all I do need.

The information I need is:
a) What .blend file is active in blender Blender?
b) Is Blender currently rendering and if so, what frame number?
c) How much is done (% of total) of the frame (if currently rendering)?
d) Time spent on last success frame rendered and time spent so far rendering current frame (if currently rendering)

Is there any easy way of either querying Blender somehow, or make Blender log this data specifically to a file? Like a tiny custom addon, or perhaps a Python script that can be run from the command line while starting Blender?

I am unfortunately just starting to teach myself Python, and I’m not skilled enough at this point to see how I could easily do this, but I suspect that for some of you guys this might be very trivial. Any pointers would be welcome :slight_smile:

I’m saddened by the lack of responses to this. I’ve also been curious about robust render logging for my own purposes

Yeah, and the annoying this is that I’ve tried a couple of network renderers who manage to get status updates during rendering, but I haven’t had the time to see what command line options they use yet. Perhaps there is a way forward there…