Hi Xavier,

Right now Fabric just prints those lines to sys.stdout or sys.stderr
and doesn't use an actual logging module, though doing so is planned
for the near future.

So if you're running Fabric as a library, you'll need to either hide
those lines so they don't print out (see the "output controls" usage
docs) or temporarily mock sys.stdout / sys.stderr, which is kind of
ugly, but should work depending on what else you're doing with them in
non-Fabric code.

For example, Fab's own test suite does something like this:

    https://github.com/bitprophet/fabric/blob/master/tests/utils.py#L71

You could probably adapt that sort of thing into a context manager and
thus do e.g.:

    with captured_stdout():
        run('foo') # This won't actually get printed, only stored
        log(sys.stdout.getvalue()) # If using StringIO like the above code
    print "yay" # This would print since sys.stdout is not mocked here


Hope that helps,
Jeff

On Wed, Nov 24, 2010 at 2:17 AM, Xavier Ordoquy <xordo...@linovia.com> wrote:
> Hi there,
>
> I have integrated fabric to a web based deployment application.
> Things seem to have taken a good shape with one exception. I can't find how I 
> can get the console output from the command calls.
> I mean, I can get the command results but I can't understand how I could 
> capture all the traces fabric outputs to the console in order to "redirect" 
> them to the logging utilities.
>
> Does anyone have an idea/tip that could help me ?
>
> Regards,
> Xavier.
> _______________________________________________
> Fab-user mailing list
> Fab-user@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/fab-user
>



-- 
Jeff Forcier
Unix sysadmin; Python/Ruby engineer
http://bitprophet.org

_______________________________________________
Fab-user mailing list
Fab-user@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to