@@ -261,37 +261,66 @@ public static void e(String tag, Object msg, Throwable tr) {
261
261
* @param type 日志类型
262
262
*/
263
263
private static void log (String tag , String msg , Throwable tr , char type ) {
264
+ if (msg == null || msg .isEmpty ()) return ;
264
265
if (logSwitch ) {
265
266
if ('e' == type && ('e' == logFilter || 'v' == logFilter )) {
266
- Log . e ( generateTag ( tag ) , msg , tr );
267
+ printLog ( tag , msg , tr , 'e' );
267
268
} else if ('w' == type && ('w' == logFilter || 'v' == logFilter )) {
268
- Log . w ( generateTag ( tag ) , msg , tr );
269
+ printLog ( tag , msg , tr , 'w' );
269
270
} else if ('d' == type && ('d' == logFilter || 'v' == logFilter )) {
270
- Log . d ( generateTag ( tag ) , msg , tr );
271
+ printLog ( tag , msg , tr , 'd' );
271
272
} else if ('i' == type && ('d' == logFilter || 'v' == logFilter )) {
272
- Log . i ( generateTag ( tag ) , msg , tr );
273
+ printLog ( tag , msg , tr , 'i' );
273
274
}
274
275
if (log2FileSwitch ) {
275
276
log2File (type , generateTag (tag ), msg + '\n' + Log .getStackTraceString (tr ));
276
277
}
277
278
}
278
279
}
279
280
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
+
280
310
/**
281
311
* 打开日志文件并写入日志
282
312
*
283
- * @param type 日志类型
284
- * @param tag 标签
285
- * @param content 内容
313
+ * @param type 日志类型
314
+ * @param tag 标签
315
+ * @param msg 信息
286
316
**/
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 ) {
289
318
Date now = new Date ();
290
319
String date = new SimpleDateFormat ("MM-dd" , Locale .getDefault ()).format (now );
291
320
final String fullPath = dir + date + ".txt" ;
292
321
if (!FileUtils .createOrExistsFile (fullPath )) return ;
293
322
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' ;
295
324
new Thread (new Runnable () {
296
325
@ Override
297
326
public void run () {
0 commit comments