@Override protected void finalize() throws Throwable { close(); } }
public void e(String s) { log("ERROR: "+s); }
@Override public void close() throws Exception { stopInterceptingStdOut(); if (loggerThread != null) { loggerThread.interrupt(); loggerThread = null; } }
@Test public void interceptConsole() throws Exception { BufferedLogger log = new BufferedLogger(100); String res = ConsoleInterceptor.copyOut(()-> { log.interceptStdOut(); System.out.println("Hello, world"); System.out.println("iCodici rules"); System.out.println("last line"); // now we need that streams send their data throgh the pipes: while (log.getCopy().size() < 3) Thread.sleep(20); log.flush(); log.stopInterceptingStdOut(); log.close(); assertEquals("Hello, world,iCodici rules,last line", str(log.getCopy())); }); assertEquals("Hello, world\n" + "iCodici rules\n" + "last line", log.getCopy().stream() .map(x->x.message) .collect(Collectors.joining("\n"))); }
@Test public void log() throws Exception { BufferedLogger log = new BufferedLogger(3); for (int i = 0; i < 10; i++) { log.log("line " + i); } log.flush(); assertEquals("line 7,line 8,line 9", str(log.getCopy())); }
@Test public void lastEntries() throws Exception { BufferedLogger log = new BufferedLogger(100); for (int i = 0; i < 10; i++) { log.log("line " + i); } log.flush(); List<BufferedLogger.Entry> entries = log.getLast(3); String result = str(entries); assertEquals("line 7,line 8,line 9", result); result = str(log.getLast(300)); assertEquals("line 0,line 1,line 2,line 3,line 4,line 5,line 6,line 7,line 8,line 9", result); }
main.logger.stopInterceptingStdOut(); main.logger.getCopy().forEach(x -> System.out.println(x));
logger.interceptStdOut(); } else logger.printTo(System.out, false); } catch (Exception e) { log("exception " + e); logger.e("exception " + e); e.printStackTrace(); usage(e.getMessage());
List<Entry> copy = getCopy(); Entry start = new Entry(id); int fromIndex = Collections.binarySearch(copy, start);
"log", log.getLast(10) ));
@Test public void slice() throws Exception { BufferedLogger log = new BufferedLogger(100); for (int i = 0; i < 10; i++) { log.log("line " + i); } log.flush(); List<BufferedLogger.Entry> all = log.getCopy(); List<BufferedLogger.Entry> entries = log.slice(all.get(5).id, 3); String result = str(entries); assertEquals("line 6,line 7,line 8", result); result = str(log.slice(all.get(5).id, -3)); assertEquals("line 2,line 3,line 4", result); result = str(log.slice(all.get(2).id, -3)); assertEquals("line 0,line 1", result); result = str(log.slice(all.get(8).id, +3)); assertEquals("line 9", result); result = str(log.slice(all.get(0).id, 20)); assertEquals("line 1,line 2,line 3,line 4,line 5,line 6,line 7,line 8,line 9", result); result = str(log.slice(all.get(9).id, -20)); assertEquals("line 0,line 1,line 2,line 3,line 4,line 5,line 6,line 7,line 8", result); result = str(log.slice(all.get(0).id-1, 20)); assertEquals("line 0,line 1,line 2,line 3,line 4,line 5,line 6,line 7,line 8,line 9", result); }
private void log(String msg) { logger.log(msg); }
/** * Request the shutdown and wait until the node stops. */ public void shutdown() { try { if (hookThread != null) Runtime.getRuntime().removeShutdownHook(hookThread); // network.close(); ledger.close(); log("shutting down"); network.shutdown(); clientHTTPServer.shutdown(); } catch (Exception e) { } synchronized (parser) { parser.notifyAll(); } try { logger.close(); } catch (Exception e) { e.printStackTrace(); } }
public @NonNull Entry d(String message) { return log(message); }
try { while ((s = r.readLine()) != null ) { log(s); if( !consoleIntercepted.get() ) break;