新增捕获并上传异常日志的功能
This commit is contained in:
@@ -33,6 +33,8 @@ public class CommonAppConfig {
|
||||
public static final String HOST = getMetaDataString("SERVER_HOST");
|
||||
//是否使用谷歌支付
|
||||
public static final boolean IS_GOOGLE_PLAY = getMetaDataBoolean("IS_GOOGLE_PLAY");
|
||||
//是否开启上报错误日志功能
|
||||
public static final boolean IS_UPLOAD_ERROR_LOG = getMetaDataBoolean("IS_UPLOAD_ERROR_LOG");
|
||||
|
||||
//外部sd卡
|
||||
public static final String DCMI_PATH = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath();
|
||||
|
||||
@@ -2,9 +2,11 @@ package com.yunbao.common.utils;
|
||||
|
||||
import android.media.MediaMetadataRetriever;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileReader;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
@@ -32,6 +34,26 @@ public class FileUtil {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从文件读取字符串
|
||||
*/
|
||||
public static String loadStringToFile(File file){
|
||||
if(file.exists()){
|
||||
try {
|
||||
BufferedReader reader=new BufferedReader(new FileReader(file));
|
||||
StringBuilder builder=new StringBuilder();
|
||||
String tmp;
|
||||
while ((tmp=reader.readLine())!=null){
|
||||
builder.append(tmp).append("\n");
|
||||
}
|
||||
return builder.toString();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取 视频 或 音频 时长
|
||||
* @param path 视频 或 音频 文件路径
|
||||
|
||||
@@ -1,9 +1,24 @@
|
||||
package com.yunbao.common.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.lzy.okgo.OkGo;
|
||||
import com.lzy.okgo.callback.StringCallback;
|
||||
import com.lzy.okgo.model.Progress;
|
||||
import com.lzy.okgo.model.Response;
|
||||
import com.lzy.okgo.request.PostRequest;
|
||||
import com.lzy.okserver.OkUpload;
|
||||
import com.lzy.okserver.upload.UploadListener;
|
||||
import com.lzy.okserver.upload.UploadTask;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2019/6/20.
|
||||
@@ -31,4 +46,59 @@ public class LogUtil {
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void pushError(Context context){
|
||||
if(!CommonAppConfig.IS_UPLOAD_ERROR_LOG){
|
||||
return;
|
||||
}
|
||||
File file = new File(context.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()+File.separator+"error.log");
|
||||
if(file.exists()){
|
||||
Log.i("异常上传", "pushError: 准备上传文件");
|
||||
String err = FileUtil.loadStringToFile(file);
|
||||
PostRequest<String> request = OkGo.<String>post("https://newht.yaoulive.com/index.php/api/error_log/report")
|
||||
.params("log", err)
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("time", new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss", Locale.CHINA).format(new Date()))
|
||||
.params("isGoogle",CommonAppConfig.IS_GOOGLE_PLAY)
|
||||
.params("appVersion",CommonAppConfig.getInstance().getVersion())
|
||||
.tag("errorLog")
|
||||
.converter(new StringCallback() {
|
||||
String TAG = "异常上传";
|
||||
|
||||
@Override
|
||||
public void onSuccess(Response<String> response) {
|
||||
Log.i(TAG, "onSuccess: " + response.message());
|
||||
file.delete();
|
||||
}
|
||||
});
|
||||
UploadTask<String> task = OkUpload.request("errorLog", request)
|
||||
.save()
|
||||
.register(new UploadListener<String>("errorLog") {
|
||||
|
||||
@Override
|
||||
public void onStart(Progress progress) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProgress(Progress progress) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Progress progress) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish(String s, Progress progress) {
|
||||
file.delete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRemove(Progress progress) {
|
||||
|
||||
}
|
||||
});
|
||||
task.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user