MozLog.java (1725B)
1 /* -*- Mode: Java; c-basic-offset: 2; tab-width: 20; indent-tabs-mode: nil; -*- 2 * This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 package org.mozilla.gecko; 7 8 import org.mozilla.gecko.annotation.WrapForJNI; 9 10 public class MozLog { 11 private static final String LOG_TAG = "MozLog"; 12 13 public static final int LOG_LEVEL_DISABLE = 0; 14 public static final int LOG_LEVEL_ERROR = 1; 15 public static final int LOG_LEVEL_WARNING = 2; 16 public static final int LOG_LEVEL_INFO = 3; 17 public static final int LOG_LEVEL_DEBUG = 4; 18 public static final int LOG_LEVEL_VERBOSE = 5; 19 20 @WrapForJNI(stubName = "Print") 21 private static native void printNative(String name, int level, String message); 22 23 public static void print(final String name, final int level, final String message) { 24 if (GeckoThread.isRunning()) { 25 printNative(name, level, message); 26 return; 27 } 28 29 GeckoThread.queueNativeCall( 30 MozLog.class, "printNative", String.class, name, level, String.class, message); 31 } 32 33 public static void d(final String name, final String message) { 34 print(name, LOG_LEVEL_DEBUG, message); 35 } 36 37 public static void e(final String name, final String message) { 38 print(name, LOG_LEVEL_ERROR, message); 39 } 40 41 public static void i(final String name, final String message) { 42 print(name, LOG_LEVEL_INFO, message); 43 } 44 45 public static void v(final String name, final String message) { 46 print(name, LOG_LEVEL_VERBOSE, message); 47 } 48 49 public static void w(final String name, final String message) { 50 print(name, LOG_LEVEL_WARNING, message); 51 } 52 }