Greetings,
I have a controller that generates many log messages. Most of them are 
currently used for debugging but some (warnings and errors) are also useful 
for users.
Logs are currently handled with a module similar to this: 
http://www.web2pyslices.com/slice/show/1416/logging

I have tried attaching a StringIO handler to capture messages to a string

import logging
import StringIO

def index():
    log_capture_string = StringIO.StringIO()
    ch = logging.StreamHandler(log_capture_string)
    ch.setLevel(logging.ERROR)
    logger.addHandler(ch)

    #controller actions

    logger.removeHandler(ch)
    notifications = log_capture_string.getvalue()
    notifications = notifications.split('\n')
    log_capture_string.close()

    #controller return
    return dict(notifications = notifications, myothervars=myothervars)


This works well if I run this controller "alone" (no other sessions, no 
other controllers running at the same time). But as soon as I run something 
else concurrently, the handler will capture that too.

Do you know if there is a way to capture the output of a controller when 
ran in a specific session?
I thought about mimicking the internal error handler (the one that 
generates error tickets) but without success.

Thanks in advance
Geo

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to