Skip to content

Commit d0ff864

Browse files
committed
see 02/10 log
1 parent c528f01 commit d0ff864

File tree

2 files changed

+43
-10
lines changed

2 files changed

+43
-10
lines changed

update_log.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
* 17/02/10 完善FragmentUtils中,LogUtils对长度进行分割
2+
* 17/02/09 完善FragmentUtils中
3+
* 17/02/08 完善FragmentUtils中
4+
* 17/02/07 完善FragmentUtils中
15
* 17/02/06 完善FragmentUtils中,炸断肠
26
* 17/02/05 完善FragmentUtils中
37
* 17/02/04 完善FragmentUtils中

utilcode/src/main/java/com/blankj/utilcode/utils/LogUtils.java

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -261,37 +261,66 @@ public static void e(String tag, Object msg, Throwable tr) {
261261
* @param type 日志类型
262262
*/
263263
private static void log(String tag, String msg, Throwable tr, char type) {
264+
if (msg == null || msg.isEmpty()) return;
264265
if (logSwitch) {
265266
if ('e' == type && ('e' == logFilter || 'v' == logFilter)) {
266-
Log.e(generateTag(tag), msg, tr);
267+
printLog(tag, msg, tr, 'e');
267268
} else if ('w' == type && ('w' == logFilter || 'v' == logFilter)) {
268-
Log.w(generateTag(tag), msg, tr);
269+
printLog(tag, msg, tr, 'w');
269270
} else if ('d' == type && ('d' == logFilter || 'v' == logFilter)) {
270-
Log.d(generateTag(tag), msg, tr);
271+
printLog(tag, msg, tr, 'd');
271272
} else if ('i' == type && ('d' == logFilter || 'v' == logFilter)) {
272-
Log.i(generateTag(tag), msg, tr);
273+
printLog(tag, msg, tr, 'i');
273274
}
274275
if (log2FileSwitch) {
275276
log2File(type, generateTag(tag), msg + '\n' + Log.getStackTraceString(tr));
276277
}
277278
}
278279
}
279280

281+
/**
282+
* 根据tag, msg和等级,输出日志
283+
*
284+
* @param tag 标签
285+
* @param msg 消息
286+
* @param tr 异常
287+
* @param type 日志类型
288+
*/
289+
private static void printLog(final String tag, final String msg, Throwable tr, char type) {
290+
final int maxLen = 4000;
291+
for (int i = 0, len = msg.length(); i * maxLen < len; ++i) {
292+
String subMsg = msg.substring(i * maxLen, (i + 1) * maxLen < len ? (i + 1) * maxLen : len);
293+
switch (type) {
294+
case 'e':
295+
Log.e(generateTag(tag), subMsg, tr);
296+
break;
297+
case 'w':
298+
Log.w(generateTag(tag), subMsg, tr);
299+
break;
300+
case 'd':
301+
Log.d(generateTag(tag), subMsg, tr);
302+
break;
303+
case 'i':
304+
Log.i(generateTag(tag), subMsg, tr);
305+
break;
306+
}
307+
}
308+
}
309+
280310
/**
281311
* 打开日志文件并写入日志
282312
*
283-
* @param type 日志类型
284-
* @param tag 标签
285-
* @param content 内容
313+
* @param type 日志类型
314+
* @param tag 标签
315+
* @param msg 信息
286316
**/
287-
private synchronized static void log2File(final char type, final String tag, final String content) {
288-
if (content == null) return;
317+
private synchronized static void log2File(final char type, final String tag, final String msg) {
289318
Date now = new Date();
290319
String date = new SimpleDateFormat("MM-dd", Locale.getDefault()).format(now);
291320
final String fullPath = dir + date + ".txt";
292321
if (!FileUtils.createOrExistsFile(fullPath)) return;
293322
String time = new SimpleDateFormat("MM-dd HH:mm:ss.SSS", Locale.getDefault()).format(now);
294-
final String dateLogContent = time + ":" + type + ":" + tag + ":" + content + '\n';
323+
final String dateLogContent = time + ":" + type + ":" + tag + ":" + msg + '\n';
295324
new Thread(new Runnable() {
296325
@Override
297326
public void run() {

0 commit comments

Comments
 (0)