Mercurial > hg > truffle
diff graal/com.oracle.graal.debug/src/com/oracle/graal/debug/internal/DebugScope.java @ 5302:55bf72fafc41
(preliminary) logging to file (-G:LogFile=asdf.txt)
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 25 Apr 2012 14:34:29 +0200 |
parents | 4eb9895d9afe |
children | 2558ff0945f8 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.debug/src/com/oracle/graal/debug/internal/DebugScope.java Wed Apr 25 13:33:28 2012 +0200 +++ b/graal/com.oracle.graal.debug/src/com/oracle/graal/debug/internal/DebugScope.java Wed Apr 25 14:34:29 2012 +0200 @@ -33,6 +33,7 @@ private static ThreadLocal<DebugScope> instanceTL = new ThreadLocal<>(); private static ThreadLocal<DebugConfig> configTL = new ThreadLocal<>(); private static ThreadLocal<Throwable> lastExceptionThrownTL = new ThreadLocal<>(); + private static ThreadLocal<DebugScope> lastLogScope = new ThreadLocal<>(); private static DebugTimer scopeTime = Debug.timer("ScopeTime"); private final DebugScope parent; @@ -49,6 +50,8 @@ private boolean timeEnabled; private boolean dumpEnabled; + private PrintStream output; + public static DebugScope getInstance() { DebugScope result = instanceTL.get(); if (result == null) { @@ -103,7 +106,11 @@ public void log(String msg, Object... args) { if (isLogEnabled()) { - cachedOut.println(String.format(msg, args)); + if (lastLogScope.get() != this) { + output.println("scope: " + qualifiedName + " " + this); + lastLogScope.set(this); + } + output.println(String.format(msg, args)); } } @@ -173,11 +180,13 @@ meterEnabled = false; timeEnabled = false; dumpEnabled = false; + output = null; } else { logEnabled = config.isLogEnabled(); meterEnabled = config.isMeterEnabled(); timeEnabled = config.isTimeEnabled(); dumpEnabled = config.isDumpEnabled(); + output = config.output(); } } @@ -281,10 +290,4 @@ public String getQualifiedName() { return qualifiedName; } - - public static PrintStream cachedOut; - - public static void initialize() { - cachedOut = System.out; - } }