forked from github/cordova-android
Formalize logging with printf-type optimization. Wrap Android log facilities instead of using System.out.println().
This commit is contained in:
parent
0f988717d0
commit
6a9253e928
@ -1,4 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<phonegap>
|
<phonegap>
|
||||||
<access origin="http://127.0.0.1*"/>
|
<access origin="http://127.0.0.1*"/>
|
||||||
|
<log level="DEBUG"/>
|
||||||
</phonegap>
|
</phonegap>
|
||||||
|
@ -55,6 +55,7 @@ import android.webkit.WebViewClient;
|
|||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
|
import com.phonegap.api.LOG;
|
||||||
import com.phonegap.api.PhonegapActivity;
|
import com.phonegap.api.PhonegapActivity;
|
||||||
import com.phonegap.api.IPlugin;
|
import com.phonegap.api.IPlugin;
|
||||||
import com.phonegap.api.PluginManager;
|
import com.phonegap.api.PluginManager;
|
||||||
@ -127,7 +128,8 @@ import org.xmlpull.v1.XmlPullParserException;
|
|||||||
* super.setBooleanProperty("keepRunning", false);
|
* super.setBooleanProperty("keepRunning", false);
|
||||||
*/
|
*/
|
||||||
public class DroidGap extends PhonegapActivity {
|
public class DroidGap extends PhonegapActivity {
|
||||||
|
public static String TAG = "DroidGap";
|
||||||
|
|
||||||
// The webview for our app
|
// The webview for our app
|
||||||
protected WebView appView;
|
protected WebView appView;
|
||||||
protected WebViewClient webViewClient;
|
protected WebViewClient webViewClient;
|
||||||
@ -191,6 +193,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
LOG.d(TAG, "DroidGap.onCreate()");
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
|
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
|
||||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,
|
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,
|
||||||
@ -228,6 +231,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
* Create and initialize web container.
|
* Create and initialize web container.
|
||||||
*/
|
*/
|
||||||
public void init() {
|
public void init() {
|
||||||
|
LOG.d(TAG, "DroidGap.init()");
|
||||||
|
|
||||||
// Create web container
|
// Create web container
|
||||||
this.appView = new WebView(DroidGap.this);
|
this.appView = new WebView(DroidGap.this);
|
||||||
@ -346,7 +350,10 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
* @param url
|
* @param url
|
||||||
*/
|
*/
|
||||||
private void loadUrlIntoView(final String url) {
|
private void loadUrlIntoView(final String url) {
|
||||||
System.out.println("loadUrl("+url+")");
|
if (!url.startsWith("javascript:")) {
|
||||||
|
LOG.d(TAG, "DroidGap.loadUrl(%s)", url);
|
||||||
|
}
|
||||||
|
|
||||||
this.url = url;
|
this.url = url;
|
||||||
if (this.baseUrl == null) {
|
if (this.baseUrl == null) {
|
||||||
int i = url.lastIndexOf('/');
|
int i = url.lastIndexOf('/');
|
||||||
@ -357,8 +364,10 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
this.baseUrl = this.url + "/";
|
this.baseUrl = this.url + "/";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("url="+url+" baseUrl="+baseUrl);
|
if (!url.startsWith("javascript:")) {
|
||||||
|
LOG.d(TAG, "DroidGap: url=%s baseUrl=%s", url, baseUrl);
|
||||||
|
}
|
||||||
|
|
||||||
// Load URL on UI thread
|
// Load URL on UI thread
|
||||||
final DroidGap me = this;
|
final DroidGap me = this;
|
||||||
this.runOnUiThread(new Runnable() {
|
this.runOnUiThread(new Runnable() {
|
||||||
@ -456,7 +465,9 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
this.loadUrl(url);
|
this.loadUrl(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("loadUrl("+url+","+time+")");
|
if (!url.startsWith("javascript:")) {
|
||||||
|
LOG.d(TAG, "DroidGap.loadUrl(%s, %d)", url, time);
|
||||||
|
}
|
||||||
final DroidGap me = this;
|
final DroidGap me = this;
|
||||||
|
|
||||||
// Handle activity parameters
|
// Handle activity parameters
|
||||||
@ -480,7 +491,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
me.cancelLoadUrl = false;
|
me.cancelLoadUrl = false;
|
||||||
System.out.println("Aborting loadUrl("+url+"): Another URL was loaded before timer expired.");
|
LOG.d(TAG, "Aborting loadUrl(%s): Another URL was loaded before timer expired.", url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1038,13 +1049,13 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize,
|
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize,
|
||||||
long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater)
|
long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater)
|
||||||
{
|
{
|
||||||
Log.d(TAG, "event raised onExceededDatabaseQuota estimatedSize: " + Long.toString(estimatedSize) + " currentQuota: " + Long.toString(currentQuota) + " totalUsedQuota: " + Long.toString(totalUsedQuota));
|
LOG.d(TAG, "DroidGap: onExceededDatabaseQuota estimatedSize: %d currentQuota: %d totalUsedQuota: %d", estimatedSize, currentQuota, totalUsedQuota);
|
||||||
|
|
||||||
if( estimatedSize < MAX_QUOTA)
|
if( estimatedSize < MAX_QUOTA)
|
||||||
{
|
{
|
||||||
//increase for 1Mb
|
//increase for 1Mb
|
||||||
long newQuota = estimatedSize;
|
long newQuota = estimatedSize;
|
||||||
Log.d(TAG, "calling quotaUpdater.updateQuota newQuota: " + Long.toString(newQuota) );
|
LOG.d(TAG, "calling quotaUpdater.updateQuota newQuota: %d", newQuota);
|
||||||
quotaUpdater.updateQuota(newQuota);
|
quotaUpdater.updateQuota(newQuota);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1060,7 +1071,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
public void onConsoleMessage(String message, int lineNumber, String sourceID)
|
public void onConsoleMessage(String message, int lineNumber, String sourceID)
|
||||||
{
|
{
|
||||||
// This is a kludgy hack!!!!
|
// This is a kludgy hack!!!!
|
||||||
Log.d(TAG, sourceID + ": Line " + Integer.toString(lineNumber) + " : " + message);
|
LOG.d(TAG, "%s: Line %d : %s", sourceID, lineNumber, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1115,7 +1126,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
intent.setData(Uri.parse(url));
|
intent.setData(Uri.parse(url));
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
} catch (android.content.ActivityNotFoundException e) {
|
} catch (android.content.ActivityNotFoundException e) {
|
||||||
System.out.println("Error dialing "+url+": "+ e.toString());
|
LOG.e(TAG, "Error dialing "+url+": "+ e.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1126,7 +1137,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
intent.setData(Uri.parse(url));
|
intent.setData(Uri.parse(url));
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
} catch (android.content.ActivityNotFoundException e) {
|
} catch (android.content.ActivityNotFoundException e) {
|
||||||
System.out.println("Error showing map "+url+": "+ e.toString());
|
LOG.e(TAG, "Error showing map "+url+": "+ e.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1137,7 +1148,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
intent.setData(Uri.parse(url));
|
intent.setData(Uri.parse(url));
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
} catch (android.content.ActivityNotFoundException e) {
|
} catch (android.content.ActivityNotFoundException e) {
|
||||||
System.out.println("Error sending email "+url+": "+ e.toString());
|
LOG.e(TAG, "Error sending email "+url+": "+ e.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1169,7 +1180,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
intent.setType("vnd.android-dir/mms-sms");
|
intent.setType("vnd.android-dir/mms-sms");
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
} catch (android.content.ActivityNotFoundException e) {
|
} catch (android.content.ActivityNotFoundException e) {
|
||||||
System.out.println("Error sending sms "+url+":"+ e.toString());
|
LOG.e(TAG, "Error sending sms "+url+":"+ e.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1184,7 +1195,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||||
this.ctx.showWebPage(url, true, false, params);
|
this.ctx.showWebPage(url, true, false, params);
|
||||||
} catch (android.content.ActivityNotFoundException e) {
|
} catch (android.content.ActivityNotFoundException e) {
|
||||||
System.out.println("Error loading url into DroidGap - "+url+":"+ e.toString());
|
LOG.e(TAG, "Error loading url into DroidGap - "+url, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1195,7 +1206,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
intent.setData(Uri.parse(url));
|
intent.setData(Uri.parse(url));
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
} catch (android.content.ActivityNotFoundException e) {
|
} catch (android.content.ActivityNotFoundException e) {
|
||||||
System.out.println("Error loading url "+url+":"+ e.toString());
|
LOG.e(TAG, "Error loading url "+url, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1266,7 +1277,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
|
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
|
||||||
System.out.println("onReceivedError: Error code="+errorCode+" Description="+description+" URL="+failingUrl);
|
LOG.d(TAG, "DroidGap: GapViewClient.onReceivedError: Error code=%s Description=%s URL=%s", errorCode, description, failingUrl);
|
||||||
|
|
||||||
// Clear timeout flag
|
// Clear timeout flag
|
||||||
this.ctx.loadUrlTimeout++;
|
this.ctx.loadUrlTimeout++;
|
||||||
@ -1365,7 +1376,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void startActivityForResult(Intent intent, int requestCode) throws RuntimeException {
|
public void startActivityForResult(Intent intent, int requestCode) throws RuntimeException {
|
||||||
System.out.println("startActivityForResult(intent,"+requestCode+")");
|
LOG.d(TAG, "DroidGap.startActivityForResult(intent,%d)", requestCode);
|
||||||
super.startActivityForResult(intent, requestCode);
|
super.startActivityForResult(intent, requestCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1491,7 +1502,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
*/
|
*/
|
||||||
class LinearLayoutSoftKeyboardDetect extends LinearLayout {
|
class LinearLayoutSoftKeyboardDetect extends LinearLayout {
|
||||||
|
|
||||||
private static final String LOG_TAG = "SoftKeyboardDetect";
|
private static final String TAG = "SoftKeyboardDetect";
|
||||||
|
|
||||||
private int oldHeight = 0; // Need to save the old height as not to send redundant events
|
private int oldHeight = 0; // Need to save the old height as not to send redundant events
|
||||||
private int oldWidth = 0; // Need to save old width for orientation change
|
private int oldWidth = 0; // Need to save old width for orientation change
|
||||||
@ -1520,23 +1531,22 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||||
|
|
||||||
Log.d(LOG_TAG, "We are in our onMeasure method");
|
LOG.v(TAG, "We are in our onMeasure method");
|
||||||
|
|
||||||
// Get the current height of the visible part of the screen.
|
// Get the current height of the visible part of the screen.
|
||||||
// This height will not included the status bar.
|
// This height will not included the status bar.
|
||||||
int height = MeasureSpec.getSize(heightMeasureSpec);
|
int height = MeasureSpec.getSize(heightMeasureSpec);
|
||||||
int width = MeasureSpec.getSize(widthMeasureSpec);
|
int width = MeasureSpec.getSize(widthMeasureSpec);
|
||||||
|
|
||||||
Log.d(LOG_TAG, "Old Height = " + oldHeight);
|
LOG.v(TAG, "Old Height = %d", oldHeight);
|
||||||
Log.d(LOG_TAG, "Height = " + height);
|
LOG.v(TAG, "Height = %d", height);
|
||||||
Log.d(LOG_TAG, "Old Width = " + oldWidth);
|
LOG.v(TAG, "Old Width = %d", oldWidth);
|
||||||
Log.d(LOG_TAG, "Width = " + width);
|
LOG.v(TAG, "Width = %d", width);
|
||||||
|
|
||||||
|
|
||||||
// If the oldHeight = 0 then this is the first measure event as the app starts up.
|
// If the oldHeight = 0 then this is the first measure event as the app starts up.
|
||||||
// If oldHeight == height then we got a measurement change that doesn't affect us.
|
// If oldHeight == height then we got a measurement change that doesn't affect us.
|
||||||
if (oldHeight == 0 || oldHeight == height) {
|
if (oldHeight == 0 || oldHeight == height) {
|
||||||
Log.d(LOG_TAG, "Ignore this event");
|
LOG.d(TAG, "Ignore this event");
|
||||||
}
|
}
|
||||||
// Account for orientation change and ignore this event/Fire orientation change
|
// Account for orientation change and ignore this event/Fire orientation change
|
||||||
else if(screenHeight == width)
|
else if(screenHeight == width)
|
||||||
@ -1544,18 +1554,18 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
int tmp_var = screenHeight;
|
int tmp_var = screenHeight;
|
||||||
screenHeight = screenWidth;
|
screenHeight = screenWidth;
|
||||||
screenWidth = tmp_var;
|
screenWidth = tmp_var;
|
||||||
Log.d(LOG_TAG, "Orientation Change");
|
LOG.v(TAG, "Orientation Change");
|
||||||
}
|
}
|
||||||
// If the height as gotten bigger then we will assume the soft keyboard has
|
// If the height as gotten bigger then we will assume the soft keyboard has
|
||||||
// gone away.
|
// gone away.
|
||||||
else if (height > oldHeight) {
|
else if (height > oldHeight) {
|
||||||
Log.d(LOG_TAG, "Throw hide keyboard event");
|
LOG.v(TAG, "Throw hide keyboard event");
|
||||||
callbackServer.sendJavascript("PhoneGap.fireDocumentEvent('hidekeyboard');");
|
callbackServer.sendJavascript("PhoneGap.fireDocumentEvent('hidekeyboard');");
|
||||||
}
|
}
|
||||||
// If the height as gotten smaller then we will assume the soft keyboard has
|
// If the height as gotten smaller then we will assume the soft keyboard has
|
||||||
// been displayed.
|
// been displayed.
|
||||||
else if (height < oldHeight) {
|
else if (height < oldHeight) {
|
||||||
Log.d(LOG_TAG, "Throw show keyboard event");
|
LOG.v(TAG, "Throw show keyboard event");
|
||||||
callbackServer.sendJavascript("PhoneGap.fireDocumentEvent('showkeyboard');");
|
callbackServer.sendJavascript("PhoneGap.fireDocumentEvent('showkeyboard');");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1573,7 +1583,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
private void loadWhiteList() {
|
private void loadWhiteList() {
|
||||||
int id = getResources().getIdentifier("phonegap", "xml", getPackageName());
|
int id = getResources().getIdentifier("phonegap", "xml", getPackageName());
|
||||||
if (id == 0) {
|
if (id == 0) {
|
||||||
Log.i("PhoneGapLog", "phonegap.xml missing. Ignoring...");
|
LOG.i("PhoneGapLog", "phonegap.xml missing. Ignoring...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
XmlResourceParser xml = getResources().getXml(id);
|
XmlResourceParser xml = getResources().getXml(id);
|
||||||
@ -1588,6 +1598,13 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
this.addWhiteListEntry(origin, (subdomains != null) && (subdomains.compareToIgnoreCase("true") == 0));
|
this.addWhiteListEntry(origin, (subdomains != null) && (subdomains.compareToIgnoreCase("true") == 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (strNode.equals("log")) {
|
||||||
|
String level = xml.getAttributeValue(null, "level");
|
||||||
|
LOG.i("PhoneGapLog", "Found log level %s", level);
|
||||||
|
if (level != null) {
|
||||||
|
LOG.setLogLevel(level);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
eventType = xml.next();
|
eventType = xml.next();
|
||||||
@ -1607,10 +1624,10 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
*/
|
*/
|
||||||
public void addWhiteListEntry(String origin, boolean subdomains) {
|
public void addWhiteListEntry(String origin, boolean subdomains) {
|
||||||
if (subdomains) {
|
if (subdomains) {
|
||||||
Log.d("PhoneGapLog", "Origin to allow with subdomains: "+origin);
|
LOG.d(TAG, "Origin to allow with subdomains: %s", origin);
|
||||||
whiteList.add(Pattern.compile(origin.replaceFirst("https{0,1}://", "^https{0,1}://.*")));
|
whiteList.add(Pattern.compile(origin.replaceFirst("https{0,1}://", "^https{0,1}://.*")));
|
||||||
} else {
|
} else {
|
||||||
Log.d("PhoneGapLog", "Origin to allow: "+origin);
|
LOG.d(TAG, "Origin to allow: %s", origin);
|
||||||
whiteList.add(Pattern.compile(origin.replaceFirst("https{0,1}://", "^https{0,1}://")));
|
whiteList.add(Pattern.compile(origin.replaceFirst("https{0,1}://", "^https{0,1}://")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
223
framework/src/com/phonegap/api/LOG.java
Executable file
223
framework/src/com/phonegap/api/LOG.java
Executable file
@ -0,0 +1,223 @@
|
|||||||
|
/*
|
||||||
|
* PhoneGap is available under *either* the terms of the modified BSD license *or* the
|
||||||
|
* MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2005-2010, Nitobi Software Inc.
|
||||||
|
* Copyright (c) 2010, IBM Corporation
|
||||||
|
*/
|
||||||
|
package com.phonegap.api;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log to Android logging system.
|
||||||
|
*
|
||||||
|
* Log message can be a string or a printf formatted string with arguments.
|
||||||
|
* See http://developer.android.com/reference/java/util/Formatter.html
|
||||||
|
*/
|
||||||
|
public class LOG {
|
||||||
|
|
||||||
|
public static final int VERBOSE = Log.VERBOSE;
|
||||||
|
public static final int DEBUG = Log.DEBUG;
|
||||||
|
public static final int INFO = Log.INFO;
|
||||||
|
public static final int WARN = Log.WARN;
|
||||||
|
public static final int ERROR = Log.ERROR;
|
||||||
|
|
||||||
|
// Current log level
|
||||||
|
public static int LOGLEVEL = Log.ERROR;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the current log level.
|
||||||
|
*
|
||||||
|
* @param logLevel
|
||||||
|
*/
|
||||||
|
public static void setLogLevel(int logLevel) {
|
||||||
|
LOGLEVEL = logLevel;
|
||||||
|
Log.i("PhoneGapLog", "Changing log level to " + logLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the current log level.
|
||||||
|
*
|
||||||
|
* @param logLevel
|
||||||
|
*/
|
||||||
|
public static void setLogLevel(String logLevel) {
|
||||||
|
if ("VERBOSE".equals(logLevel)) LOGLEVEL = VERBOSE;
|
||||||
|
else if ("DEBUG".equals(logLevel)) LOGLEVEL = DEBUG;
|
||||||
|
else if ("INFO".equals(logLevel)) LOGLEVEL = INFO;
|
||||||
|
else if ("WARN".equals(logLevel)) LOGLEVEL = WARN;
|
||||||
|
else if ("ERROR".equals(logLevel)) LOGLEVEL = ERROR;
|
||||||
|
Log.i("PhoneGapLog", "Changing log level to " + logLevel + "(" + LOGLEVEL + ")");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if log level will be logged
|
||||||
|
*
|
||||||
|
* @param logLevel
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static boolean isLoggable(int logLevel) {
|
||||||
|
return (logLevel >= LOGLEVEL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verbose log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
*/
|
||||||
|
public static void v(String tag, String s) {
|
||||||
|
if (LOG.VERBOSE <= LOGLEVEL) Log.v(tag, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Debug log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
*/
|
||||||
|
public static void d(String tag, String s) {
|
||||||
|
if (LOG.DEBUG <= LOGLEVEL) Log.d(tag, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Info log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
*/
|
||||||
|
public static void i(String tag, String s) {
|
||||||
|
if (LOG.INFO <= LOGLEVEL) Log.i(tag, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Warning log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
*/
|
||||||
|
public static void w(String tag, String s) {
|
||||||
|
if (LOG.WARN <= LOGLEVEL) Log.w(tag, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
*/
|
||||||
|
public static void e(String tag, String s) {
|
||||||
|
if (LOG.ERROR <= LOGLEVEL) Log.e(tag, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verbose log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param e
|
||||||
|
*/
|
||||||
|
public static void v(String tag, String s, Throwable e) {
|
||||||
|
if (LOG.VERBOSE <= LOGLEVEL) Log.v(tag, s, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Debug log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param e
|
||||||
|
*/
|
||||||
|
public static void d(String tag, String s, Throwable e) {
|
||||||
|
if (LOG.DEBUG <= LOGLEVEL) Log.d(tag, s, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Info log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param e
|
||||||
|
*/
|
||||||
|
public static void i(String tag, String s, Throwable e) {
|
||||||
|
if (LOG.INFO <= LOGLEVEL) Log.i(tag, s, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Warning log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param e
|
||||||
|
*/
|
||||||
|
public static void w(String tag, String s, Throwable e) {
|
||||||
|
if (LOG.WARN <= LOGLEVEL) Log.w(tag, s, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error log message.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param e
|
||||||
|
*/
|
||||||
|
public static void e(String tag, String s, Throwable e) {
|
||||||
|
if (LOG.ERROR <= LOGLEVEL) Log.e(tag, s, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verbose log message with printf formatting.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param args
|
||||||
|
*/
|
||||||
|
public static void v(String tag, String s, Object... args) {
|
||||||
|
if (LOG.VERBOSE <= LOGLEVEL) Log.v(tag, String.format(s, args));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Debug log message with printf formatting.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param args
|
||||||
|
*/
|
||||||
|
public static void d(String tag, String s, Object... args) {
|
||||||
|
if (LOG.DEBUG <= LOGLEVEL) Log.d(tag, String.format(s, args));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Info log message with printf formatting.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param args
|
||||||
|
*/
|
||||||
|
public static void i(String tag, String s, Object... args) {
|
||||||
|
if (LOG.INFO <= LOGLEVEL) Log.i(tag, String.format(s, args));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Warning log message with printf formatting.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param args
|
||||||
|
*/
|
||||||
|
public static void w(String tag, String s, Object... args) {
|
||||||
|
if (LOG.WARN <= LOGLEVEL) Log.w(tag, String.format(s, args));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error log message with printf formatting.
|
||||||
|
*
|
||||||
|
* @param tag
|
||||||
|
* @param s
|
||||||
|
* @param args
|
||||||
|
*/
|
||||||
|
public static void e(String tag, String s, Object... args) {
|
||||||
|
if (LOG.ERROR <= LOGLEVEL) Log.e(tag, String.format(s, args));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user