Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #25276
| From | Daniel Pitts <newsgroup.nospam@virtualinfinity.net> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Reading from stdout |
| References | <l0sruc$clf$1@dont-email.me> |
| Message-ID | <DfnYt.29309$cs5.9201@fx09.iad> (permalink) |
| Date | 2013-09-12 10:56 -0700 |
On 9/12/13 9:59 AM, White Spirit wrote: > I'm writing a unit test for a logger class that writes to stdout. The > logger class uses an OutputStreamWriter to wrap FileDescriptor.out: > > mOut = new OutputStreamWriter(new > FileOutputStream(FileDescriptor.out), "UTF-8"); > > My unit test instantiates the logger class as a local object. When I > try to read from FileDescriptor.out in my unit test class, however, > nothing is received: > > BufferedReader reader = new BufferedReader( new InputStreamReader( new > FileInputStream( FileDescriptor.out ) ) ); > // do some logging > // ... > String n = reader.readLine(); > > Is there any way of reading what the logger is outputting? If you allow the Logger to accept an OutputStream, then you can pass in a new ByteArrayOutputStream(). final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final Logger logger = new Logger(baos); doSomeLogging(logger); String result = baos.toString(); // uses default encoding. assertEqual(expectedResult, result);
Back to comp.lang.java.programmer | Previous | Next | Find similar | Unroll thread
Re: Reading from stdout Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-09-12 10:56 -0700
csiph-web