From ccf7a1f19b5c6276178c72609c88d057214c8239 Mon Sep 17 00:00:00 2001
From: Dana <Dana_Lee1016@126.com>
Date: 星期一, 01 十二月 2025 09:51:50 +0800
Subject: [PATCH] 1.添加timber日志库

---
 app/src/main/java/com/anyun/h264/H264EncodeService.java |  115 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 57 insertions(+), 58 deletions(-)

diff --git a/app/src/main/java/com/anyun/h264/H264EncodeService.java b/app/src/main/java/com/anyun/h264/H264EncodeService.java
index a2ec246..e1f5ad0 100644
--- a/app/src/main/java/com/anyun/h264/H264EncodeService.java
+++ b/app/src/main/java/com/anyun/h264/H264EncodeService.java
@@ -4,7 +4,7 @@
 import android.content.Intent;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.util.Log;
+import timber.log.Timber;
 
 import com.anyun.h264.model.ResourceInfo;
 
@@ -56,22 +56,22 @@
     @Override
     public void onCreate() {
         super.onCreate();
-        Log.d(TAG, "H264EncodeService created");
+        Timber.d("H264EncodeService created");
         
         // 鍒濆鍖栬緭鍑烘枃浠剁洰褰曪紙浣跨敤搴旂敤澶栭儴瀛樺偍鐩綍锛�
         outputFileDirectory = getExternalFilesDir(null).getAbsolutePath();
-        Log.d(TAG, "Output file directory: " + outputFileDirectory);
+        Timber.d("Output file directory: %s", outputFileDirectory);
     }
     
     @Override
     public IBinder onBind(Intent intent) {
-        Log.d(TAG, "Service bound");
+        Timber.d("Service bound");
         return binder;
     }
     
     @Override
     public boolean onUnbind(Intent intent) {
-        Log.d(TAG, "Service unbound");
+        Timber.d("Service unbound");
         // 涓嶈嚜鍔ㄥ仠姝㈢紪鐮佸櫒锛岃瀹冨湪鏈嶅姟涓繚鎸佽繍琛�
         return super.onUnbind(intent);
     }
@@ -79,7 +79,7 @@
     @Override
     public void onDestroy() {
         super.onDestroy();
-        Log.d(TAG, "Service destroyed");
+        Timber.d("Service destroyed");
         
         // 鍋滄骞堕噴鏀剧紪鐮佸櫒鍜屾枃浠朵紶杈撳櫒
         stopEncoder();
@@ -170,7 +170,7 @@
      * @return 0-鎴愬姛锛�1-澶辫触
      */
     private synchronized int controlEncode(int action, String jsonConfig) {
-        Log.d(TAG, "controlEncode called with action: " + action + ", jsonConfig: " + jsonConfig);
+        Timber.d("controlEncode called with action: %d, jsonConfig: %s", action, jsonConfig);
         
         try {
             switch (action) {
@@ -179,7 +179,7 @@
                         EncodeConfig config0 = EncodeConfig.fromJson(jsonConfig);
                         return startFileEncode(config0);
                     } catch (JSONException e) {
-                        Log.e(TAG, "Failed to parse JSON config: " + jsonConfig, e);
+                        Timber.e(e, "Failed to parse JSON config: %s", jsonConfig);
                         return 1;
                     }
                     
@@ -191,7 +191,7 @@
                         EncodeConfig config2 = EncodeConfig.fromJson(jsonConfig);
                         return startNetworkEncode(config2);
                     } catch (JSONException e) {
-                        Log.e(TAG, "Failed to parse JSON config: " + jsonConfig, e);
+                        Timber.e(e, "Failed to parse JSON config: %s", jsonConfig);
                         return 1;
                     }
                     
@@ -203,7 +203,7 @@
                         FileTransmitConfig config4 = FileTransmitConfig.fromJson(jsonConfig);
                         return startFileTransmit(config4);
                     } catch (JSONException e) {
-                        Log.e(TAG, "Failed to parse JSON config: " + jsonConfig, e);
+                        Timber.e(e, "Failed to parse JSON config: %s", jsonConfig);
                         return 1;
                     }
                     
@@ -211,11 +211,11 @@
                     return stopFileTransmitter();
                     
                 default:
-                    Log.e(TAG, "Unknown action: " + action);
+                    Timber.e("Unknown action: %d", action);
                     return 1; // 澶辫触
             }
         } catch (Exception e) {
-            Log.e(TAG, "Error in controlEncode", e);
+            Timber.e(e, "Error in controlEncode");
             return 1; // 澶辫触
         }
     }
@@ -224,11 +224,11 @@
      * 鍚姩鏂囦欢缂栫爜妯″紡锛堝彧鍐欏叆鏂囦欢锛屼笉杩涜缃戠粶鎺ㄩ�侊級
      */
     private int startFileEncode(EncodeConfig config) {
-        Log.d(TAG, "Starting file encode mode");
+        Timber.d("Starting file encode mode");
         
         // 濡傛灉缂栫爜鍣ㄥ凡缁忓湪杩愯锛屽厛鍋滄
         if (h264Encoder != null) {
-            Log.w(TAG, "Encoder is already running, stopping it first");
+            Timber.w("Encoder is already running, stopping it first");
             stopEncoder();
         }
         
@@ -245,7 +245,7 @@
             long timeFile = System.currentTimeMillis();
             SimpleDateFormat bcdFormat = new SimpleDateFormat("yyMMddHHmmss");
             String str = bcdFormat.format(timeFile);
-            Log.i(TAG,"鏂囦欢鍚嶏細"+str);
+            Timber.i("鏂囦欢鍚嶏細%s", str);
             // 璁剧疆杈撳嚭鏂囦欢
             String fileName = "h264_" + timeFile+ ".h264";
             File outputFile = new File(outputFileDirectory, fileName);
@@ -259,16 +259,16 @@
             int[] resolution = {width, height};
             if (h264Encoder.initialize(DEFAULT_CAMERA_ID_RANGE, null, resolution, false)) {
                 h264Encoder.start();
-                Log.d(TAG, "File encode started successfully, output file: " + outputFile.getAbsolutePath() + 
-                        ", resolution: " + width + "x" + height + ", framerate: " + framerate);
+                Timber.d("File encode started successfully, output file: %s, resolution: %dx%d, framerate: %d", 
+                        outputFile.getAbsolutePath(), width, height, framerate);
                 return 0; // 鎴愬姛
             } else {
-                Log.e(TAG, "Failed to initialize encoder");
+                Timber.e("Failed to initialize encoder");
                 h264Encoder = null;
                 return 1; // 澶辫触
             }
         } catch (Exception e) {
-            Log.e(TAG, "Failed to start file encode", e);
+            Timber.e(e, "Failed to start file encode");
             h264Encoder = null;
             return 1; // 澶辫触
         }
@@ -278,17 +278,17 @@
      * 鍚姩缃戠粶鎺ㄩ�佹ā寮忥紙鍙繘琛岀綉缁滄帹閫侊紝涓嶅啓鍏ユ枃浠讹級
      */
     private int startNetworkEncode(EncodeConfig config) {
-        Log.d(TAG, "Starting network encode mode");
+        Timber.d("Starting network encode mode");
         
         // 濡傛灉缂栫爜鍣ㄥ凡缁忓湪杩愯锛屽厛鍋滄
         if (h264Encoder != null) {
-            Log.w(TAG, "Encoder is already running, stopping it first");
+            Timber.w("Encoder is already running, stopping it first");
             stopEncoder();
         }
         
         // 妫�鏌ュ繀闇�鐨勯厤缃弬鏁�
         if (config == null || config.ip == null || config.ip.trim().isEmpty() || config.port <= 0) {
-            Log.e(TAG, "Network encode requires valid ip and port in config");
+            Timber.e("Network encode requires valid ip and port in config");
             return 1; // 澶辫触
         }
         
@@ -321,16 +321,16 @@
             int[] resolution = {width, height};
             if (h264Encoder.initialize(DEFAULT_CAMERA_ID_RANGE, null, resolution, false)) {
                 h264Encoder.start();
-                Log.d(TAG, "Network encode started successfully, server: " + config.ip + ":" + config.port + 
-                        ", resolution: " + width + "x" + height + ", framerate: " + framerate);
+                Timber.d("Network encode started successfully, server: %s:%d, resolution: %dx%d, framerate: %d", 
+                        config.ip, config.port, width, height, framerate);
                 return 0; // 鎴愬姛
             } else {
-                Log.e(TAG, "Failed to initialize encoder");
+                Timber.e("Failed to initialize encoder");
                 h264Encoder = null;
                 return 1; // 澶辫触
             }
         } catch (Exception e) {
-            Log.e(TAG, "Failed to start network encode", e);
+            Timber.e(e, "Failed to start network encode");
             h264Encoder = null;
             return 1; // 澶辫触
         }
@@ -340,22 +340,22 @@
      * 鍋滄缂栫爜鍣�
      */
     private int stopEncoder() {
-        Log.d(TAG, "Stopping encoder");
+        Timber.d("Stopping encoder");
         
         if (h264Encoder != null) {
             try {
                 h264Encoder.stop();
                 h264Encoder.release();
                 h264Encoder = null;
-                Log.d(TAG, "Encoder stopped successfully");
+                Timber.d("Encoder stopped successfully");
                 return 0; // 鎴愬姛
             } catch (Exception e) {
-                Log.e(TAG, "Error stopping encoder", e);
+                Timber.e(e, "Error stopping encoder");
                 h264Encoder = null;
                 return 1; // 澶辫触
             }
         } else {
-            Log.w(TAG, "Encoder is not running");
+            Timber.w("Encoder is not running");
             return 0; // 鎴愬姛锛堟病鏈夎繍琛岀殑缂栫爜鍣紝瑙嗕负鎴愬姛锛�
         }
     }
@@ -364,22 +364,22 @@
      * 鍚姩鏂囦欢浼犺緭妯″紡锛堜粠H264鏂囦欢璇诲彇骞剁綉缁滄帹閫侊級
      */
     private int startFileTransmit(FileTransmitConfig config) {
-        Log.d(TAG, "Starting file transmit mode");
+        Timber.d("Starting file transmit mode");
         
         // 濡傛灉鏂囦欢浼犺緭鍣ㄥ凡缁忓湪杩愯锛屽厛鍋滄
         if (h264FileTransmitter != null) {
-            Log.w(TAG, "File transmitter is already running, stopping it first");
+            Timber.w("File transmitter is already running, stopping it first");
             stopFileTransmitter();
         }
         
         // 妫�鏌ュ繀闇�鐨勯厤缃弬鏁�
         if (config == null || config.ip == null || config.ip.trim().isEmpty() || config.port <= 0) {
-            Log.e(TAG, "File transmit requires valid ip and port in config");
+            Timber.e("File transmit requires valid ip and port in config");
             return 1; // 澶辫触
         }
         
         if (config.filePath == null || config.filePath.trim().isEmpty()) {
-            Log.e(TAG, "File transmit requires valid filePath in config");
+            Timber.e("File transmit requires valid filePath in config");
             return 1; // 澶辫触
         }
         
@@ -387,7 +387,7 @@
             // 妫�鏌ユ枃浠舵槸鍚﹀瓨鍦�
             File file = new File(config.filePath);
             if (!file.exists() || !file.isFile()) {
-                Log.e(TAG, "File does not exist: " + config.filePath);
+                Timber.e("File does not exist: %s", config.filePath);
                 return 1; // 澶辫触
             }
             
@@ -413,24 +413,24 @@
             h264FileTransmitter.setOnTransmitProgressCallback(new H264FileTransmitter.OnTransmitProgressCallback() {
                 @Override
                 public void onProgress(int currentFrame, int totalFrames) {
-                    Log.d(TAG, "File transmit progress: frame " + currentFrame + 
-                            (totalFrames > 0 ? " of " + totalFrames : ""));
+                    Timber.d("File transmit progress: frame %d%s", currentFrame, 
+                            totalFrames > 0 ? " of " + totalFrames : "");
                 }
                 
                 @Override
                 public void onComplete() {
-                    Log.d(TAG, "File transmit completed");
+                    Timber.d("File transmit completed");
                 }
                 
                 @Override
                 public void onError(String error) {
-                    Log.e(TAG, "File transmit error: " + error);
+                    Timber.e("File transmit error: %s", error);
                 }
             });
             
             // 鍒濆鍖朣ocket杩炴帴
             if (!h264FileTransmitter.initialize()) {
-                Log.e(TAG, "Failed to initialize file transmitter socket");
+                Timber.e("Failed to initialize file transmitter socket");
                 h264FileTransmitter = null;
                 return 1; // 澶辫触
             }
@@ -438,19 +438,18 @@
             // 寮�濮嬩紶杈撴枃浠�
             h264FileTransmitter.transmitFile(config.filePath);
             
-            Log.d(TAG, "File transmit started successfully, file: " + config.filePath + 
-                    ", server: " + config.ip + ":" + config.port + 
-                    ", protocol: " + (config.protocolType == JT1076ProtocolHelper.PROTOCOL_TYPE_UDP ? "UDP" : "TCP") +
-                    ", framerate: " + framerate);
+            Timber.d("File transmit started successfully, file: %s, server: %s:%d, protocol: %s, framerate: %d", 
+                    config.filePath, config.ip, config.port, 
+                    config.protocolType == JT1076ProtocolHelper.PROTOCOL_TYPE_UDP ? "UDP" : "TCP", framerate);
             return 0; // 鎴愬姛
             
         } catch (Exception e) {
-            Log.e(TAG, "Failed to start file transmit", e);
+            Timber.e(e, "Failed to start file transmit");
             if (h264FileTransmitter != null) {
                 try {
                     h264FileTransmitter.stop();
                 } catch (Exception ex) {
-                    Log.e(TAG, "Error stopping file transmitter after failure", ex);
+                    Timber.e(ex, "Error stopping file transmitter after failure");
                 }
                 h264FileTransmitter = null;
             }
@@ -462,21 +461,21 @@
      * 鍋滄鏂囦欢浼犺緭鍣�
      */
     private int stopFileTransmitter() {
-        Log.d(TAG, "Stopping file transmitter");
+        Timber.d("Stopping file transmitter");
         
         if (h264FileTransmitter != null) {
             try {
                 h264FileTransmitter.stop();
                 h264FileTransmitter = null;
-                Log.d(TAG, "File transmitter stopped successfully");
+                Timber.d("File transmitter stopped successfully");
                 return 0; // 鎴愬姛
             } catch (Exception e) {
-                Log.e(TAG, "Error stopping file transmitter", e);
+                Timber.e(e, "Error stopping file transmitter");
                 h264FileTransmitter = null;
                 return 1; // 澶辫触
             }
         } else {
-            Log.w(TAG, "File transmitter is not running");
+            Timber.w("File transmitter is not running");
             return 0; // 鎴愬姛锛堟病鏈夎繍琛岀殑鏂囦欢浼犺緭鍣紝瑙嗕负鎴愬姛锛�
         }
     }
@@ -488,7 +487,7 @@
      * @return 璧勬簮鍒楄〃
      */
     private List<ResourceInfo> getResourceList(String startTime, String endTime) {
-        Log.d(TAG, "getResourceList called, startTime: " + startTime + ", endTime: " + endTime);
+        Timber.d("getResourceList called, startTime: %s, endTime: %s", startTime, endTime);
         
         List<ResourceInfo> resourceList = new ArrayList<>();
         
@@ -496,13 +495,13 @@
             // 鎵弿杈撳嚭鐩綍涓殑H264鏂囦欢
             File dir = new File(outputFileDirectory);
             if (!dir.exists() || !dir.isDirectory()) {
-                Log.w(TAG, "Output directory does not exist: " + outputFileDirectory);
+                Timber.w("Output directory does not exist: %s", outputFileDirectory);
                 return resourceList;
             }
             
             File[] files = dir.listFiles((dir1, name) -> name.toLowerCase().endsWith(".h264"));
             if (files == null || files.length == 0) {
-                Log.d(TAG, "No H264 files found in directory");
+                Timber.d("No H264 files found in directory");
                 return resourceList;
             }
             
@@ -511,7 +510,7 @@
             Date endDate = parseTime(endTime);
             
             if (startDate == null || endDate == null) {
-                Log.e(TAG, "Invalid time format, startTime: " + startTime + ", endTime: " + endTime);
+                Timber.e("Invalid time format, startTime: %s, endTime: %s", startTime, endTime);
                 return resourceList;
             }
             
@@ -523,11 +522,11 @@
                 }
             }
             
-            Log.d(TAG, "Found " + resourceList.size() + " resources in time range");
+            Timber.d("Found %d resources in time range", resourceList.size());
             return resourceList;
             
         } catch (Exception e) {
-            Log.e(TAG, "Error getting resource list", e);
+            Timber.e(e, "Error getting resource list");
             return resourceList;
         }
     }
@@ -578,7 +577,7 @@
             return resourceInfo;
             
         } catch (Exception e) {
-            Log.e(TAG, "Error creating resource info from file: " + file.getName(), e);
+            Timber.e(e, "Error creating resource info from file: %s", file.getName());
             return null;
         }
     }
@@ -597,7 +596,7 @@
             SimpleDateFormat format = new SimpleDateFormat("yyMMddHHmmss", Locale.CHINA);
             return format.parse(timeStr);
         } catch (ParseException e) {
-            Log.e(TAG, "Failed to parse time: " + timeStr, e);
+            Timber.e(e, "Failed to parse time: %s", timeStr);
             return null;
         }
     }

--
Gitblit v1.8.0