收集所有Log.d从类,并保存到SD卡并保存、Log、SD

2023-09-05 02:39:18 作者:罂栗花般少季

嘿是否有可能在Android的收集从一个类的所有Log.d,不断追加并将其保存到SD卡?

例如:

 类的Andr​​oid {

    私人最终静态字符串变量=你好;

    公共无效ABCD(){
    Log.d(TAG,它进入ABCD法);
    }

    公共无效EFGH(){
    Log.d(TAG,它走进EFGH法);
    }

       / *这里收集上述所有日志和写入SD卡*提交/

}
 

解决方案 怎么把电脑里的视频直接传到手机的卡里 急

您可以使用的logcat 命令所有日志。您可以尝试这样的:

 公共静态无效PRINTLOG(上下文的背景下){
    字符串文件名= context.getExternalFilesDir(空).getPath()+文件分割符+my_app.log;
    字符串命令=logcat的-d *:V;

    Log.d(TAG,命令:+指令);

    尝试{
        。工艺过程=调用Runtime.getRuntime()EXEC(命令);

        的BufferedReader在=新的BufferedReader(新的InputStreamReader(process.getInputStream()));
        串线= NULL;
        尝试{
            档案文件=新的文件(文件名);
            file.createNewFile();
            FileWriter的作家=新的FileWriter(文件);
            而((行= in.readLine())!= NULL){
                writer.write(行+\ N);
            }
            writer.flush();
            writer.close();
        }
        赶上(IOException异常E){
            e.printStackTrace();
        }
    }
    赶上(IOException异常E){
        e.printStackTrace();
    }
}
 

您可以获取有关的logcat 了解更多信息此处的 http://developer.android.com/tool​​s/help/logcat.html

Hey is it possible in Android to collect all Log.d from one class and keep on appending it and save it into SDCard ?

For example :

Class Android {

    private final static String TAG = "hello";

    public void abcd(){
    Log.d(TAG, "it went into abcd method");
    }

    public void efgh(){
    Log.d(TAG, "it went into efgh method");
    }

       /*Here collect all above LOGS and write to file in SDCard*/

}

解决方案

You can get all logs with the logcat command. You can try something like:

public static void printLog(Context context){
    String filename = context.getExternalFilesDir(null).getPath() + File.separator + "my_app.log";
    String command = "logcat -d *:V";

    Log.d(TAG, "command: " + command);

    try{
        Process process = Runtime.getRuntime().exec(command);

        BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
        String line = null;
        try{
            File file = new File(filename);
            file.createNewFile();
            FileWriter writer = new FileWriter(file);
            while((line = in.readLine()) != null){
                writer.write(line + "\n");
            }
            writer.flush();
            writer.close();
        }
        catch(IOException e){
            e.printStackTrace();
        }
    }
    catch(IOException e){
        e.printStackTrace();
    }
}

You can get more information about logcat here: http://developer.android.com/tools/help/logcat.html