Log Generator
-
On 18/08/2013 at 16:39, xxxxxxxx wrote:
Hi
I Look for an Way to Log Errors and save themAlso is there a Way to Generate a System Description with Details of the Computer and Version of c4d
I like to get a Way to get Most detailed error Reports
Thanks
-
On 18/08/2013 at 22:09, xxxxxxxx wrote:
Take a look at the logging module, it is part of the Python STL.
-Niklas
-
On 19/08/2013 at 01:30, xxxxxxxx wrote:
In the c4d module you can find various methods to retrieve OS and c4d related informations, you
can also retrieve your gpu specs from the WPREF container. The python stl module platform can
be used to retrieve OS and CPU related informations. Some of these informations can also be
found in the environment dict.http://docs.python.org/2/library/platform.html
I am not sure what is meant with errors in this context. I guess you are speaking of runtime
errors / exceptions. There is no method to automatically redirect exceptions in Python (at least
I do not know one), so you will have to stick with the try/except syntax to track them. From the
except branches in your code you could feed then a logger class to generate a log string. You
could also build an generic exception class wrapping other exceptions, which would pass the
the exception string to your logger. -
On 21/08/2013 at 15:18, xxxxxxxx wrote:
thanks
with errors i mean the errors messages with come up in the console
-
On 28/12/2013 at 11:47, xxxxxxxx wrote:
to bring it up again -
the logging work great
is there a way to get the content of the console ?
-
On 29/12/2013 at 07:42, xxxxxxxx wrote:
You could overwrite sys.stdout with your own file-like object that redirects the write() calls to the original
stdout and your own file. You should prefer to use your own printing mechanism however to not break
other plugins or scripts in case your implementation is buggy.> import logging
>
> import cStringIO as cstio
>
>
>
>
> logfile = cstio.StringIO()
>
> logger = logging.Logger("conner's logger")
>
> logger.addHandler(logging.StreamHandler(logfile))
>
> logger.addHandler(logging.StreamHandler(sys.stdout))
>
>
>
>
> def get_log(self) :
>
> logfile.seek(0)
>
> data = logfile.read()
>
> logfile.seek(0, 2)
>
> return dataSimply put everything into the logger instead of using the print keyword.
Best,
-Niklas -
On 29/12/2013 at 07:55, xxxxxxxx wrote:
hey Niklas,
thanks for your detailed answer.
your logging example is great. my problem is i don`t get the errors like thisTraceback (most recent call last) : File "'stage.pyp'", line 1848, in all AttributeError: parameter access failed