Thanks, Jim. But with-out-str only works for output to *out*(stdout), but
not *err*(stderr). A quick test is:
(with-out-str
          (try
           (throw (Exception. "Hello"))
           (catch Exception e
                  (.printStackTrace e))))
which it returns: "" but the stack trace still gets printed out:
java.lang.Exception: Hello
    at user$eval2774$fn__2775.invoke(NO_SOURCE_FILE:1)
    at user$eval2774.invoke(NO_SOURCE_FILE:1)
    at clojure.lang.Compiler.eval(Compiler.java:6511)
    at clojure.lang.Compiler.eval(Compiler.java:6477)
    at clojure.core$eval.invoke(core.clj:2797)
    at clojure.main$repl$read_eval_print__6405.invoke(main.clj:245)
    at clojure.main$repl$fn__6410.invoke(main.clj:266)
    at clojure.main$repl.doInvoke(main.clj:266)
    at clojure.lang.RestFn.invoke(RestFn.java:1096)
    at
clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__1402.invoke(interruptible_eval.clj:57)
    at clojure.lang.AFn.applyToHelper(AFn.java:159)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:601)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1771)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at
clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:42)
    at
clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__1443$fn__1445.invoke(interruptible_eval.clj:170)
    at clojure.core$comp$fn__4034.invoke(core.clj:2278)
    at
clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__1436.invoke(interruptible_eval.clj:137)
    at clojure.lang.AFn.run(AFn.java:24)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722

2013/3/5 Jim - FooBar(); <jimpil1...@gmail.com>

> I don't know if you can suppress it, but you can certainly ignore it with
> 'without-str' which will give you what was supposed to be printed out, as a
> string...then it's up to you what to do with it... :)
>
> HTH,
> Jim
>
>
> On 05/03/13 08:56, bruce li wrote:
>
>> Hi, guys,
>>
>> I'm currently playing clojure with android monkey runner. So far it works
>> fine but just one unpleasant thing -- the android monkey runner default
>> prints a lot of junk information to stderr such as:
>>
>> March 05, 2013 4:46:47 pm com.android.chimpchat.**ChimpManager
>> sendMonkeyEventAndGetResponse
>>
>> These printing operations are evaluated inside its library when I call a
>> method such as IChimpDevice.touch.
>>
>> I'm writing some wrappers around the api:
>>
>> (defn send-touch [^IChimpDevice device x y]
>>   (.touch device x y TouchPressType/DOWN_AND_UP))
>>
>> Is it possible to suppress the its output to stderr and make it something
>> like(in pseudo code):
>> (with-stderr-discard
>>   (.touch device x y TouchPressType/DOWN_AND_UP))
>>
>> I cannot discard the whole program's stderr output with commands like
>> java -jar xxxxxx.jar 2>/dev/null
>>
>> since I need vital stack trace information from other places for debug
>> purpose.
>>
>> Any help would be appreciated.
>>
>>
>> --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscribe@**googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
>> For more options, visit this group at
>> http://groups.google.com/**group/clojure?hl=en<http://groups.google.com/group/clojure?hl=en>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to 
>> clojure+unsubscribe@**googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
>> .
>> For more options, visit 
>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>> .
>>
>>
>>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscribe@**googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/**group/clojure?hl=en<http://groups.google.com/group/clojure?hl=en>
> --- You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to 
> clojure+unsubscribe@**googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
> .
> For more options, visit 
> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
> .
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to