/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ package org.mozilla.android.sync.log.test; import org.mozilla.android.sync.test.AndroidSyncTestCase; import org.mozilla.gecko.sync.Logger; import org.mozilla.gecko.sync.log.writers.AndroidLevelCachingLogWriter; import org.mozilla.gecko.sync.log.writers.AndroidLogWriter; import org.mozilla.gecko.sync.log.writers.LogWriter; public class TestAndroidLogWriters extends AndroidSyncTestCase { public static final String TEST_LOG_TAG = "TestAndroidLogWriters"; public static final String TEST_MESSAGE_1 = "LOG TEST MESSAGE one"; public static final String TEST_MESSAGE_2 = "LOG TEST MESSAGE two"; public static final String TEST_MESSAGE_3 = "LOG TEST MESSAGE three"; public void setUp() { Logger.stopLoggingToAll(); } public void tearDown() { Logger.resetLogging(); } /** * Verify these *all* appear in the Android log by using * <code>adb logcat | grep TestAndroidLogWriters</code> after executing * <code>adb shell setprop log.tag.TestAndroidLogWriters ERROR</code>. * <p> * This writer does not use the Android log levels! */ public void testAndroidLogWriter() { LogWriter lw = new AndroidLogWriter(); Logger.error(TEST_LOG_TAG, TEST_MESSAGE_1, new RuntimeException()); Logger.startLoggingTo(lw); Logger.error(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.warn(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.info(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.debug(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.trace(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.stopLoggingTo(lw); Logger.error(TEST_LOG_TAG, TEST_MESSAGE_3, new RuntimeException()); } /** * Verify only *some* of these appear in the Android log by using * <code>adb logcat | grep TestAndroidLogWriters</code> after executing * <code>adb shell setprop log.tag.TestAndroidLogWriters INFO</code>. * <p> * This writer should use the Android log levels! */ public void testAndroidLevelCachingLogWriter() throws Exception { LogWriter lw = new AndroidLevelCachingLogWriter(new AndroidLogWriter()); Logger.error(TEST_LOG_TAG, TEST_MESSAGE_1, new RuntimeException()); Logger.startLoggingTo(lw); Logger.error(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.warn(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.info(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.debug(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.trace(TEST_LOG_TAG, TEST_MESSAGE_2); Logger.stopLoggingTo(lw); Logger.error(TEST_LOG_TAG, TEST_MESSAGE_3, new RuntimeException()); } }