From 4bd30dd01b09d642eaddeade6e13aa36d9d353e4 Mon Sep 17 00:00:00 2001
From: lwb <q3213421wrwqr>
Date: 星期二, 03 十一月 2020 18:37:44 +0800
Subject: [PATCH] 9527 日志写入工具
---
SdkProject/library/src/main/java/com/secondworld/universalsdk/command/CmdInit.java | 4 -
SdkProject/library/build.gradle | 1
SdkProject/library/src/main/AndroidManifest.xml | 2 +
SdkProject/build.gradle | 3 +
SdkProject/library/src/main/java/com/secondworld/universalsdk/LogUtil.java | 94 +++++++++++++++++++++++++++++++++++++++++++++++
SdkProject/library/src/main/java/com/secondworld/universalsdk/H2EngineSDK.java | 8 +++-
SdkProject/library/src/main/java/com/secondworld/universalsdk/BaseApplication.java | 8 ++++
7 files changed, 114 insertions(+), 6 deletions(-)
diff --git a/SdkProject/build.gradle b/SdkProject/build.gradle
index c8d7712..f04e4f3 100644
--- a/SdkProject/build.gradle
+++ b/SdkProject/build.gradle
@@ -3,10 +3,10 @@
repositories {
google()
jcenter()
+ maven { url 'https://jitpack.io' }
}
dependencies {
classpath "com.android.tools.build:gradle:4.1.0"
-
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -16,6 +16,7 @@
repositories {
google()
jcenter()
+ maven { url 'https://jitpack.io' }
}
}
diff --git a/SdkProject/library/build.gradle b/SdkProject/library/build.gradle
index 512af7a..3c23e87 100644
--- a/SdkProject/library/build.gradle
+++ b/SdkProject/library/build.gradle
@@ -138,5 +138,6 @@
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
+ implementation 'com.github.pqpo:Log4a:1.4.2@aar'
implementation files('libs/unity-classes.jar')
}
\ No newline at end of file
diff --git a/SdkProject/library/src/main/AndroidManifest.xml b/SdkProject/library/src/main/AndroidManifest.xml
index dbc3f43..d5df5a9 100644
--- a/SdkProject/library/src/main/AndroidManifest.xml
+++ b/SdkProject/library/src/main/AndroidManifest.xml
@@ -2,4 +2,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.secondworld.universalsdk">
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+
</manifest>
\ No newline at end of file
diff --git a/SdkProject/library/src/main/java/com/secondworld/universalsdk/BaseApplication.java b/SdkProject/library/src/main/java/com/secondworld/universalsdk/BaseApplication.java
index f5339c8..7956481 100644
--- a/SdkProject/library/src/main/java/com/secondworld/universalsdk/BaseApplication.java
+++ b/SdkProject/library/src/main/java/com/secondworld/universalsdk/BaseApplication.java
@@ -2,6 +2,8 @@
import android.app.Application;
+import me.pqpo.librarylog4a.Log4a;
+
public class BaseApplication extends Application {
public static Application APP;
@@ -10,7 +12,13 @@
public void onCreate() {
super.onCreate();
APP = this;
+ InitSdk();
+ }
+
+ public void InitSdk(){
+ LogUtil.Init(this);
H2EngineSDK.initCommandMap();
}
+
}
diff --git a/SdkProject/library/src/main/java/com/secondworld/universalsdk/H2EngineSDK.java b/SdkProject/library/src/main/java/com/secondworld/universalsdk/H2EngineSDK.java
index f93d69e..9e3e28b 100644
--- a/SdkProject/library/src/main/java/com/secondworld/universalsdk/H2EngineSDK.java
+++ b/SdkProject/library/src/main/java/com/secondworld/universalsdk/H2EngineSDK.java
@@ -28,7 +28,8 @@
try {
for (String name : classesName) {
Class<?> aClass = Class.forName(name);
- addCommand((ICommand) aClass.newInstance());
+ if (!aClass.isInterface())
+ addCommand((ICommand) aClass.newInstance());
}
} catch (Exception e) {
e.printStackTrace();
@@ -41,15 +42,17 @@
/**
* unity 鍙戞潵鐨勬秷鎭�
+ *
* @param json
*/
public static void HandleUnityMessage(String json) {
try {
+ LogUtil.debug("HandleUnityMessage", json);
JSONObject _json = new JSONObject(json);
int code = _json.getInt("code");
ICommand command = allCommand.get(code);
if (command == null) {
- Log.e("H2EngineSDK", "鏈煡鍛戒护");
+
return;
}
command.process(json);
@@ -59,6 +62,7 @@
/**
* 閫氳繃鍙嶅皠璇诲彇鎸囧畾鍖呭悕涓嬬殑鎵�鏈夌被鍚�
+ *
* @param packageName
* @return
*/
diff --git a/SdkProject/library/src/main/java/com/secondworld/universalsdk/LogUtil.java b/SdkProject/library/src/main/java/com/secondworld/universalsdk/LogUtil.java
new file mode 100644
index 0000000..61e1ff4
--- /dev/null
+++ b/SdkProject/library/src/main/java/com/secondworld/universalsdk/LogUtil.java
@@ -0,0 +1,94 @@
+package com.secondworld.universalsdk;
+
+import android.content.Context;
+import android.util.Log;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+import me.pqpo.librarylog4a.Level;
+import me.pqpo.librarylog4a.Log4a;
+import me.pqpo.librarylog4a.LogData;
+import me.pqpo.librarylog4a.appender.AndroidAppender;
+import me.pqpo.librarylog4a.appender.FileAppender;
+import me.pqpo.librarylog4a.formatter.DateFileFormatter;
+import me.pqpo.librarylog4a.interceptor.Interceptor;
+import me.pqpo.librarylog4a.logger.AppenderLogger;
+
+public class LogUtil {
+
+ private static final int BUFFER_SIZE = 1024 * 1024; //鏃ュ織缂撳瓨澶у皬
+
+ private static final boolean DEBUG = BuildConfig.DEBUG;
+
+ private static final String GLOBAL_TAG = "H2EngineSDK";
+
+ public static void Init(Context context) {
+ int level = Level.VERBOSE;
+ Interceptor wrapInterceptor = new Interceptor() {
+ @Override
+ public boolean intercept(LogData logData) {
+ logData.tag = "-" + logData.tag + "锛�";
+ return true;
+ }
+ };
+ AndroidAppender androidAppender = new AndroidAppender.Builder()
+ .setLevel(level)
+ .addInterceptor(wrapInterceptor)
+ .create();
+
+ File logDir = new File(context.getExternalCacheDir() + "/logs/");
+ String buffer_path = logDir.getAbsolutePath() + File.separator + ".logCache";
+ String time = new SimpleDateFormat("yyyy_MM_dd", Locale.getDefault()).format(new Date());
+ String log_path = logDir.getAbsolutePath() + File.separator + time + ".txt";
+ FileAppender fileAppender = new FileAppender.Builder(context)
+ .setLogFilePath(log_path)
+ .setLevel(level)
+ .addInterceptor(wrapInterceptor)
+ .setBufferFilePath(buffer_path)
+ .setFormatter(new DateFileFormatter())
+ .setCompress(false)
+ .setBufferSize(BUFFER_SIZE)
+ .create();
+
+ AppenderLogger logger = new AppenderLogger.Builder()
+ .addAppender(fileAppender)
+ .create();
+
+ Log4a.setLogger(logger);
+ }
+
+ private static void print(int level, String tag, String msg, boolean debug) {
+ if (DEBUG || debug)//鎺у埗鍙拌緭鍑�
+ Log.println(level, String.format("%s-%s", GLOBAL_TAG, tag), msg);
+ else//鍐欏叆鏈湴鏂囦欢
+ Log4a.println(level, tag, msg);
+ }
+
+ public static void debug(String tag, String msg) {
+ print(Level.ERROR, tag, msg, true);
+ }
+
+ public static void v(String tag, String msg) {
+ print(Level.VERBOSE, tag, msg, false);
+ }
+
+ public static void d(String tag, String msg) {
+ print(Level.DEBUG, tag, msg, false);
+ }
+
+ public static void i(String tag, String msg) {
+ print(Level.INFO, tag, msg, false);
+ }
+
+ public static void w(String tag, String msg) {
+ print(Level.WARN, tag, msg, false);
+ }
+
+ public static void e(String tag, String msg) {
+ print(Level.ERROR, tag, msg, false);
+ }
+
+}
diff --git a/SdkProject/library/src/main/java/com/secondworld/universalsdk/command/CmdInit.java b/SdkProject/library/src/main/java/com/secondworld/universalsdk/command/CmdInit.java
index 52de6a0..491b23b 100644
--- a/SdkProject/library/src/main/java/com/secondworld/universalsdk/command/CmdInit.java
+++ b/SdkProject/library/src/main/java/com/secondworld/universalsdk/command/CmdInit.java
@@ -1,7 +1,5 @@
package com.secondworld.universalsdk.command;
-import android.util.Log;
-
import com.secondworld.universalsdk.CodeU2A;
/**
@@ -15,6 +13,6 @@
@Override
public void process(String json) {
- Log.e("ICommand", "娓告垙鍒濆鍖栵紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒");
+
}
}
--
Gitblit v1.8.0