Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Unified Diff: webrtc/base/java/src/org/webrtc/Logging.java

Issue 2877023002: Move webrtc/{base => rtc_base} (Closed)
Patch Set: update presubmit.py and DEPS include rules Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/base/java/src/org/webrtc/ContextUtils.java ('k') | webrtc/base/java/src/org/webrtc/OWNERS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/base/java/src/org/webrtc/Logging.java
diff --git a/webrtc/base/java/src/org/webrtc/Logging.java b/webrtc/base/java/src/org/webrtc/Logging.java
deleted file mode 100644
index 643b8cf7a91bf3d787c1f740ebc4ff62d154d44e..0000000000000000000000000000000000000000
--- a/webrtc/base/java/src/org/webrtc/Logging.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-package org.webrtc;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.EnumSet;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Java wrapper for WebRTC logging. Logging defaults to java.util.logging.Logger, but will switch to
- * native logging (rtc::LogMessage) if one of the following static functions are called from the
- * app:
- * - Logging.enableLogThreads
- * - Logging.enableLogTimeStamps
- * - Logging.enableTracing
- * - Logging.enableLogToDebugOutput
- * Using native logging requires the presence of the jingle_peerconnection_so library.
- */
-public class Logging {
- private static final Logger fallbackLogger = createFallbackLogger();
- private static volatile boolean tracingEnabled;
- private static volatile boolean loggingEnabled;
- private static enum NativeLibStatus { UNINITIALIZED, LOADED, FAILED }
- private static volatile NativeLibStatus nativeLibStatus = NativeLibStatus.UNINITIALIZED;
-
- private static Logger createFallbackLogger() {
- final Logger fallbackLogger = Logger.getLogger("org.webrtc.Logging");
- fallbackLogger.setLevel(Level.ALL);
- return fallbackLogger;
- }
-
- private static boolean loadNativeLibrary() {
- if (nativeLibStatus == NativeLibStatus.UNINITIALIZED) {
- try {
- System.loadLibrary("jingle_peerconnection_so");
- nativeLibStatus = NativeLibStatus.LOADED;
- } catch (UnsatisfiedLinkError t) {
- nativeLibStatus = NativeLibStatus.FAILED;
- fallbackLogger.log(Level.WARNING, "Failed to load jingle_peerconnection_so: ", t);
- }
- }
- return nativeLibStatus == NativeLibStatus.LOADED;
- }
-
- // Keep in sync with webrtc/common_types.h:TraceLevel.
- public enum TraceLevel {
- TRACE_NONE(0x0000),
- TRACE_STATEINFO(0x0001),
- TRACE_WARNING(0x0002),
- TRACE_ERROR(0x0004),
- TRACE_CRITICAL(0x0008),
- TRACE_APICALL(0x0010),
- TRACE_DEFAULT(0x00ff),
- TRACE_MODULECALL(0x0020),
- TRACE_MEMORY(0x0100),
- TRACE_TIMER(0x0200),
- TRACE_STREAM(0x0400),
- TRACE_DEBUG(0x0800),
- TRACE_INFO(0x1000),
- TRACE_TERSEINFO(0x2000),
- TRACE_ALL(0xffff);
-
- public final int level;
- TraceLevel(int level) {
- this.level = level;
- }
- }
-
- // Keep in sync with webrtc/base/logging.h:LoggingSeverity.
- public enum Severity { LS_SENSITIVE, LS_VERBOSE, LS_INFO, LS_WARNING, LS_ERROR, LS_NONE }
-
- public static void enableLogThreads() {
- if (!loadNativeLibrary()) {
- fallbackLogger.log(Level.WARNING, "Cannot enable log thread because native lib not loaded.");
- return;
- }
- nativeEnableLogThreads();
- }
-
- public static void enableLogTimeStamps() {
- if (!loadNativeLibrary()) {
- fallbackLogger.log(
- Level.WARNING, "Cannot enable log timestamps because native lib not loaded.");
- return;
- }
- nativeEnableLogTimeStamps();
- }
-
- // Enable tracing to |path| of messages of |levels|.
- // On Android, use "logcat:" for |path| to send output there.
- // Note: this function controls the output of the WEBRTC_TRACE() macros.
- public static synchronized void enableTracing(String path, EnumSet<TraceLevel> levels) {
- if (!loadNativeLibrary()) {
- fallbackLogger.log(Level.WARNING, "Cannot enable tracing because native lib not loaded.");
- return;
- }
-
- if (tracingEnabled) {
- return;
- }
- int nativeLevel = 0;
- for (TraceLevel level : levels) {
- nativeLevel |= level.level;
- }
- nativeEnableTracing(path, nativeLevel);
- tracingEnabled = true;
- }
-
- // Enable diagnostic logging for messages of |severity| to the platform debug
- // output. On Android, the output will be directed to Logcat.
- // Note: this function starts collecting the output of the LOG() macros.
- public static synchronized void enableLogToDebugOutput(Severity severity) {
- if (!loadNativeLibrary()) {
- fallbackLogger.log(Level.WARNING, "Cannot enable logging because native lib not loaded.");
- return;
- }
- nativeEnableLogToDebugOutput(severity.ordinal());
- loggingEnabled = true;
- }
-
- public static void log(Severity severity, String tag, String message) {
- if (loggingEnabled) {
- nativeLog(severity.ordinal(), tag, message);
- return;
- }
-
- // 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) {
- log(Severity.LS_INFO, tag, message);
- }
-
- public static void e(String tag, String message) {
- log(Severity.LS_ERROR, tag, message);
- }
-
- public static void w(String tag, String message) {
- log(Severity.LS_WARNING, tag, message);
- }
-
- public static void e(String tag, String message, Throwable e) {
- log(Severity.LS_ERROR, tag, message);
- log(Severity.LS_ERROR, tag, e.toString());
- log(Severity.LS_ERROR, tag, getStackTraceString(e));
- }
-
- public static void w(String tag, String message, Throwable e) {
- log(Severity.LS_WARNING, tag, message);
- log(Severity.LS_WARNING, tag, e.toString());
- log(Severity.LS_WARNING, tag, getStackTraceString(e));
- }
-
- public static void v(String tag, String message) {
- log(Severity.LS_VERBOSE, tag, message);
- }
-
- private static String getStackTraceString(Throwable e) {
- if (e == null) {
- return "";
- }
-
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- e.printStackTrace(pw);
- return sw.toString();
- }
-
- private static native void nativeEnableTracing(String path, int nativeLevels);
- private static native void nativeEnableLogToDebugOutput(int nativeSeverity);
- private static native void nativeEnableLogThreads();
- private static native void nativeEnableLogTimeStamps();
- private static native void nativeLog(int severity, String tag, String message);
-}
« no previous file with comments | « webrtc/base/java/src/org/webrtc/ContextUtils.java ('k') | webrtc/base/java/src/org/webrtc/OWNERS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698