diff options
5 files changed, 84 insertions, 10 deletions
diff --git a/service/java/com/android/server/wifi/FakeWifiLog.java b/service/java/com/android/server/wifi/FakeWifiLog.java index 69cd72503..a58d77f59 100644 --- a/service/java/com/android/server/wifi/FakeWifiLog.java +++ b/service/java/com/android/server/wifi/FakeWifiLog.java @@ -46,6 +46,26 @@ public class FakeWifiLog implements WifiLog { return sDummyLogMessage; } + @Override + public void eC(String msg) { + // Do nothing. + } + + @Override + public void wC(String msg) { + // Do nothing. + } + + @Override + public void iC(String msg) { + // Do nothing. + } + + @Override + public void tC(String msg) { + // Do nothing. + } + // Legacy methods. @Override public void e(String msg) { diff --git a/service/java/com/android/server/wifi/LogcatLog.java b/service/java/com/android/server/wifi/LogcatLog.java index 45108d513..14e4dfd5e 100644 --- a/service/java/com/android/server/wifi/LogcatLog.java +++ b/service/java/com/android/server/wifi/LogcatLog.java @@ -62,6 +62,26 @@ class LogcatLog implements WifiLog { return makeLogMessage(Log.VERBOSE, format); } + @Override + public void eC(String msg) { + Log.e(mTag, msg); + } + + @Override + public void wC(String msg) { + Log.w(mTag, msg); + } + + @Override + public void iC(String msg) { + Log.i(mTag, msg); + } + + @Override + public void tC(String msg) { + Log.d(mTag, msg); + } + /* Legacy methods */ @Override public void e(String msg) { diff --git a/service/java/com/android/server/wifi/WifiDiagnostics.java b/service/java/com/android/server/wifi/WifiDiagnostics.java index 160cf6bdf..777f46358 100644 --- a/service/java/com/android/server/wifi/WifiDiagnostics.java +++ b/service/java/com/android/server/wifi/WifiDiagnostics.java @@ -154,7 +154,7 @@ class WifiDiagnostics extends BaseWifiDiagnostics { } if (!mWifiNative.startPktFateMonitoring()) { - mLog.e("Failed to start packet fate monitoring"); + mLog.wC("Failed to start packet fate monitoring"); } } @@ -163,7 +163,7 @@ class WifiDiagnostics extends BaseWifiDiagnostics { if (mPerPacketRingBuffer != null) { startLoggingRingBuffer(mPerPacketRingBuffer); } else { - if (DBG) mLog.d("There is no per packet ring buffer"); + if (DBG) mLog.tC("There is no per packet ring buffer"); } } @@ -172,7 +172,7 @@ class WifiDiagnostics extends BaseWifiDiagnostics { if (mPerPacketRingBuffer != null) { stopLoggingRingBuffer(mPerPacketRingBuffer); } else { - if (DBG) mLog.d("There is no per packet ring buffer"); + if (DBG) mLog.tC("There is no per packet ring buffer"); } } @@ -180,9 +180,9 @@ class WifiDiagnostics extends BaseWifiDiagnostics { public synchronized void stopLogging() { if (mIsLoggingEventHandlerRegistered) { if (!mWifiNative.resetLogHandler()) { - mLog.e("Fail to reset log handler"); + mLog.wC("Fail to reset log handler"); } else { - if (DBG) mLog.d("Reset log handler"); + if (DBG) mLog.tC("Reset log handler"); } // Clear mIsLoggingEventHandlerRegistered even if resetLogHandler() failed, because // the log handler is in an indeterminate state. @@ -424,7 +424,7 @@ class WifiDiagnostics extends BaseWifiDiagnostics { } } } else { - mLog.e("no ring buffers found"); + mLog.wC("no ring buffers found"); } return mRingBuffers != null; @@ -439,7 +439,7 @@ class WifiDiagnostics extends BaseWifiDiagnostics { private boolean startLoggingAllExceptPerPacketBuffers() { if (mRingBuffers == null) { - if (DBG) mLog.d("No ring buffers to log anything!"); + if (DBG) mLog.tC("No ring buffers to log anything!"); return false; } @@ -544,7 +544,7 @@ class WifiDiagnostics extends BaseWifiDiagnostics { compressor.end(); bos.close(); } catch (IOException e) { - mLog.e("ByteArrayOutputStream close error"); + mLog.wC("ByteArrayOutputStream close error"); result = android.util.Base64.encodeToString(input, Base64.DEFAULT); return result; } @@ -588,7 +588,7 @@ class WifiDiagnostics extends BaseWifiDiagnostics { } private LimitedCircularArray<String> getKernelLog(int maxLines) { - if (DBG) mLog.d("Reading kernel log ..."); + if (DBG) mLog.tC("Reading kernel log ..."); LimitedCircularArray<String> lines = new LimitedCircularArray<String>(maxLines); String log = mWifiNative.readKernelLog(); String logLines[] = log.split("\n"); diff --git a/service/java/com/android/server/wifi/WifiLog.java b/service/java/com/android/server/wifi/WifiLog.java index dcdae33b5..5b2624222 100644 --- a/service/java/com/android/server/wifi/WifiLog.java +++ b/service/java/com/android/server/wifi/WifiLog.java @@ -106,6 +106,40 @@ public interface WifiLog { LogMessage dump(@NonNull String format); /** + * Log a warning using the default tag for this WifiLog instance. Mark + * the message as 'clean' (i.e. _not_ containing any sensitive data). + * + * NOTE: this method should only be used for literal strings. For messages with + * parameters, use err(). + * + * @param msg the message to be logged + */ + void eC(String msg); + + /** + * Like {@link #eC(String)} eC()}, except that a warning-level message + * is logged. + */ + void wC(String msg); + + /** + * Like {@link #eC(String)} eC()}, except that an info-level message + * is logged. + */ + void iC(String msg); + + /** + * Like {@link #eC(String)} eC()}, except that a trace-level message + * is logged. + */ + void tC(String msg); + + /** + * Note: dC() is deliberately omitted, as "dumping" is inherently at + * odds with the intention that the caller pass in a literal string. + */ + + /** * Represents a single log message. * * Implementations are expected _not_ to be thread-safe. diff --git a/tests/wifitests/src/com/android/server/wifi/WifiDiagnosticsTest.java b/tests/wifitests/src/com/android/server/wifi/WifiDiagnosticsTest.java index a2b8203da..3f1d72b5f 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiDiagnosticsTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiDiagnosticsTest.java @@ -275,7 +275,7 @@ public class WifiDiagnosticsTest { final boolean verbosityToggle = true; when(mWifiNative.startPktFateMonitoring()).thenReturn(false); mWifiDiagnostics.startLogging(verbosityToggle); - verify(mLog).e(contains("Failed")); + verify(mLog).wC(contains("Failed")); } /** |