diff --git a/app/build.gradle b/app/build.gradle
index 20bad06927cc8e8fdc15a3f1036f289199d6f67b..474944e38f3a8de1ced7602d97f1189c5f6b5e58 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 23
- buildToolsVersion "23.0.2"
+ buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.socks.klog.sample"
@@ -29,9 +29,9 @@ android {
}
dependencies {
- compile 'com.android.support:appcompat-v7:23.1.0'
+ compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.loopj.android:android-async-http:1.4.9'
compile 'cz.msebera.android:httpclient:4.3.6'
- compile 'com.github.zhaokaiqiang.klog:library:1.4.0'
+ compile 'com.github.zhaokaiqiang.klog:library:1.5.0'
// compile project(':library')
}
diff --git a/app/src/main/java/com/socks/sample/KLogApplication.java b/app/src/main/java/com/socks/sample/KLogApplication.java
index d807fb9cb9abdabc455770e52a7d550b402f54aa..3ad01690e88694fdec03912898814b694cd71a8e 100644
--- a/app/src/main/java/com/socks/sample/KLogApplication.java
+++ b/app/src/main/java/com/socks/sample/KLogApplication.java
@@ -12,6 +12,7 @@ public class KLogApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
- KLog.init(BuildConfig.LOG_DEBUG);
+// KLog.init(BuildConfig.LOG_DEBUG);
+ KLog.init(BuildConfig.LOG_DEBUG, "Kai");
}
}
diff --git a/app/src/main/java/com/socks/sample/MainActivity.java b/app/src/main/java/com/socks/sample/MainActivity.java
index 008b343ed1604727270e6310cf8c4a79d709597e..7afa51f4ae41e082ad57abca9bf8e1f516e5b8cf 100644
--- a/app/src/main/java/com/socks/sample/MainActivity.java
+++ b/app/src/main/java/com/socks/sample/MainActivity.java
@@ -1,10 +1,14 @@
package com.socks.sample;
import android.content.Intent;
+import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
+import android.os.Handler;
+import android.os.Message;
import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -26,14 +30,34 @@ public class MainActivity extends AppCompatActivity {
private static String STRING_LONG;
private AsyncHttpClient httpClient;
+ private static Handler handler = new Handler() {
+
+ @Override
+ public void handleMessage(Message msg) {
+ KLog.d("handleMessage");
+ handler.sendEmptyMessageDelayed(0, 3000);
+ }
+ };
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
- init();
+
+ initView();
+ initData();
+ handler.sendEmptyMessageDelayed(0, 3000);
+ }
+
+ private void initView() {
+ Toolbar toolbar = (Toolbar) findViewById(R.id.toolBar);
+ if (toolbar != null) {
+ toolbar.setTitleTextColor(Color.WHITE);
+ setSupportActionBar(toolbar);
+ }
}
- private void init() {
+ private void initData() {
httpClient = new AsyncHttpClient();
JSON_LONG = getResources().getString(R.string.json_long);
JSON = getResources().getString(R.string.json);
@@ -147,7 +171,7 @@ public class MainActivity extends AppCompatActivity {
case R.id.action_github:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/ZhaoKaiQiang/KLog")));
break;
- case R.id.action_csdn:
+ case R.id.action_blog:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://blog.csdn.net/zhaokaiqiang1992")));
break;
}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 961bc505ab6b837524200cb064f527269b2a7e63..c150029eb7f909c81c327465ee42f638c5447225 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -2,78 +2,100 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:orientation="vertical">
-
+ android:layout_height="?attr/actionBarSize"
+ android:background="@color/colorPrimary"
+ app:theme="@style/ToolbarTheme"/>
-
+ android:layout_height="wrap_content">
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/menu_about.xml b/app/src/main/res/menu/menu_about.xml
index 960114cd57377883ae9b850ba0d63da6462ddd85..1c036ee1f1c740a5253fbb08dbfbe9dde12d2381 100644
--- a/app/src/main/res/menu/menu_about.xml
+++ b/app/src/main/res/menu/menu_about.xml
@@ -1,16 +1,13 @@
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ca3d0617e4c06fa5c95f7ce907db1fab99a22a82..ddb1c118f9ce17f6642105fb8dfdcb3af26e318c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -519,4 +519,6 @@ public class StickyNavLayout extends LinearLayout {
演示代码下载:https://github.com/ZhaoKaiQiang/ScrollerDemo
+ GITHUB
+ BLOG
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 5885930df6d10edf3d6df40d6556297d11f953da..8a065ef0fe11f723818598078dda535652d41175 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,11 +1,15 @@
-
+
+
diff --git a/build.gradle b/build.gradle
index 524374c3db8b94e2f52804f8d41eb47479796364..1d610c866dd3e730b1ea1757a03f5cba3459ec07 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:1.3.0'
+ classpath 'com.android.tools.build:gradle:2.2.0-alpha3'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
// NOTE: Do not place your application dependencies here; they belong
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f23df6e46308cfa2b59ee3fe36cae1459a94dc36..654352e17809946707b4f84706207239f4c4bce9 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Oct 21 11:34:03 PDT 2015
+#Sun Jun 12 23:20:37 CST 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
diff --git a/klog.jar b/klog.jar
index 9d1747648657e2392650bb432fe3effa83ace573..2949dd19ba63c7ff69afa9c3fda7d92ff9a8d847 100644
Binary files a/klog.jar and b/klog.jar differ
diff --git a/library/build.gradle b/library/build.gradle
index f079c2ac56115546c8abcfee2c9ad7d6c9cdda23..dc70cc91c6b43043447ffb7f647379cb48bd5258 100644
--- a/library/build.gradle
+++ b/library/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'com.jfrog.bintray'
android {
compileSdkVersion 23
- buildToolsVersion "23.0.2"
+ buildToolsVersion "23.0.3"
defaultConfig {
minSdkVersion 8
targetSdkVersion 23
@@ -23,7 +23,11 @@ android {
}
}
-version = "1.4.0"
+dependencies {
+ compile 'com.android.support:support-annotations:23.4.0'
+}
+
+version = "1.5.0"
def siteUrl = 'https://github.com/ZhaoKaiQiang/KLog'
def gitUrl = 'https://github.com/ZhaoKaiQiang/KLog.git'
group = "com.github.zhaokaiqiang.klog"
diff --git a/library/src/main/java/com/socks/library/KLog.java b/library/src/main/java/com/socks/library/KLog.java
index d46bfbd329b172ac1a3f897484f599be5da56e1a..60536ec3ebd4776cc0c8cfb5ffa46b03257f2f30 100644
--- a/library/src/main/java/com/socks/library/KLog.java
+++ b/library/src/main/java/com/socks/library/KLog.java
@@ -1,6 +1,7 @@
package com.socks.library;
+import android.support.annotation.Nullable;
import android.text.TextUtils;
import com.socks.library.klog.BaseLog;
@@ -24,35 +25,47 @@ import java.io.File;
* 15/11/18 扩展功能,增加对XML的支持,修复BUG
* 15/12/8 扩展功能,添加对任意参数的支持
* 15/12/11 扩展功能,增加对无限长字符串支持
+ * 16/6/13 扩展功能,添加对自定义全局Tag的支持
*/
public class KLog {
- public static final String DEFAULT_MESSAGE = "execute";
public static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static final String NULL_TIPS = "Log with null object";
- public static final String PARAM = "Param";
- public static final String NULL = "null";
- public static final String TAG_DEFAULT = "KLog";
- public static final String SUFFIX = ".java";
- public static final int JSON_INDENT = 4;
+ private static final String DEFAULT_MESSAGE = "execute";
+ private static final String PARAM = "Param";
+ private static final String NULL = "null";
+ private static final String TAG_DEFAULT = "KLog";
+ private static final String SUFFIX = ".java";
+ public static final int JSON_INDENT = 4;
public static final int V = 0x1;
+
public static final int D = 0x2;
public static final int I = 0x3;
public static final int W = 0x4;
public static final int E = 0x5;
public static final int A = 0x6;
- public static final int JSON = 0x7;
- public static final int XML = 0x8;
- private static boolean IS_SHOW_LOG = true;
+ private static final int JSON = 0x7;
+ private static final int XML = 0x8;
+
private static final int STACK_TRACE_INDEX = 5;
+ private static String mGlobalTag;
+ private static boolean mIsGlobalTagEmpty = true;
+ private static boolean IS_SHOW_LOG = true;
+
public static void init(boolean isShowLog) {
IS_SHOW_LOG = isShowLog;
}
+ public static void init(boolean isShowLog, @Nullable String tag) {
+ IS_SHOW_LOG = isShowLog;
+ mGlobalTag = tag;
+ mIsGlobalTagEmpty = TextUtils.isEmpty(mGlobalTag);
+ }
+
public static void v() {
printLog(V, null, DEFAULT_MESSAGE);
}
@@ -207,6 +220,11 @@ public class KLog {
if (classNameInfo.length > 0) {
className = classNameInfo[classNameInfo.length - 1] + SUFFIX;
}
+
+ if (className.contains("$")) {
+ className = className.split("\\$")[0] + SUFFIX;
+ }
+
String methodName = targetElement.getMethodName();
int lineNumber = targetElement.getLineNumber();
@@ -217,9 +235,13 @@ public class KLog {
String methodNameShort = methodName.substring(0, 1).toUpperCase() + methodName.substring(1);
String tag = (tagStr == null ? className : tagStr);
- if (TextUtils.isEmpty(tag)) {
+
+ if (mIsGlobalTagEmpty && TextUtils.isEmpty(tag)) {
tag = TAG_DEFAULT;
+ } else if (!mIsGlobalTagEmpty) {
+ tag = mGlobalTag;
}
+
String msg = (objects == null) ? NULL_TIPS : getObjectsString(objects);
String headString = "[ (" + className + ":" + lineNumber + ")#" + methodNameShort + " ] ";