Fallback to system log when webrtc tracing not enabled.

BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1368053002 .

Cr-Commit-Position: refs/heads/master@{#10079}
This commit is contained in:
Jiayang Liu
2015-09-25 10:04:30 -07:00
parent 1741770742
commit 4d47aa335c

View File

@ -19,6 +19,7 @@ import java.util.logging.Level;
/** Java wrapper for WebRTC logging. */
public class Logging {
private static final Logger fallbackLogger = Logger.getLogger("org.webrtc.Logging");
private static boolean tracingEnabled;
static {
try {
@ -68,36 +69,46 @@ public class Logging {
// Enable tracing to |path| of messages of |levels| and |severity|.
// On Android, use "logcat:" for |path| to send output there.
public static void enableTracing(
public static synchronized void enableTracing(
String path, EnumSet<TraceLevel> levels, Severity severity) {
if (tracingEnabled) {
return;
}
int nativeLevel = 0;
for (TraceLevel level : levels) {
nativeLevel |= level.level;
}
nativeEnableTracing(path, nativeLevel, severity.ordinal());
tracingEnabled = true;
}
public static void log(Severity severity, String tag, String message) {
try {
nativeLog(severity.ordinal(), tag, message);
} catch (Throwable t) {
Level level;
switch (severity) {
case LS_ERROR:
level = Level.SEVERE;
break;
case LS_WARNING:
level = Level.WARNING;
break;
case LS_INFO:
level = Level.INFO;
break;
default:
level = Level.FINE;
break;
if (tracingEnabled) {
try {
nativeLog(severity.ordinal(), tag, message);
return;
} catch (Throwable t) {
// Don't log the error to avoid spamming.
}
fallbackLogger.log(level, tag + ": " + message);
}
// Fallback to system log.
Level level;
switch (severity) {
case LS_ERROR:
level = Level.SEVERE;
break;
case LS_WARNING:
level = Level.WARNING;
break;
case LS_INFO:
level = Level.INFO;
break;
default:
level = Level.FINE;
break;
}
fallbackLogger.log(level, tag + ": " + message);
}
public static void d(String tag, String message) {