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(); <[email protected]>
> 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 [email protected]
>> 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%[email protected]>
>> 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%[email protected]>
>> .
>> 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 [email protected]
> 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%[email protected]>
> 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%[email protected]>
> .
> 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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.