Android登录到一个文件,有什么建议吗?

Android登录到一个文件,有什么建议吗?,android,logging,Android,Logging,我一直在尝试调查我在prod中基于轮次的应用程序中出现的一个常见问题。出于某种原因,在某个时候,轮次混乱,我一直无法找出原因。因此,我决定创建一个日志文件,并在出现此问题时发送此日志文件 我不想使用log cat,因为它需要许可。我需要使用我自己的日志文件,这样用户就可以确信这只是我的日志语句。你建议我做什么?只需打开一个文件并附加我的日志记录语句,或者是否有一个可以与android一起使用的库来记录文件? 谢谢Logcat不需要任何许可。如果您想创建自己的日志,只需将日志附加到文本文件中即可。

我一直在尝试调查我在prod中基于轮次的应用程序中出现的一个常见问题。出于某种原因,在某个时候,轮次混乱,我一直无法找出原因。因此,我决定创建一个日志文件,并在出现此问题时发送此日志文件

我不想使用log cat,因为它需要许可。我需要使用我自己的日志文件,这样用户就可以确信这只是我的日志语句。你建议我做什么?只需打开一个文件并附加我的日志记录语句,或者是否有一个可以与android一起使用的库来记录文件?
谢谢

Logcat不需要任何许可。如果您想创建自己的日志,只需将日志附加到文本文件中即可。
我自己也尝试过这种方法(需要写入文件权限):

另一个选择是,它还需要写入外部存储权限

我为相同的情况创建了库(需要在我的应用程序中解决仅生产的问题)


提供附加、启动、停止、发送和删除日志文件的挂钩

日志cat需要权限?要使用ACRA发送日志,它需要读取日志权限。我已经在使用ACRA发送事故报告。我想发送我的日志(但不是Logcat)太好了,谢谢你,我必须在SD卡上发送吗?我不能作为本地openFileOutput(fileName,Context.MODE_private)的私有文件执行吗;?不,你可以。这只是我给你的一个例子。根据你的需要,你可能还想在中查看下一代日志框架。它支持
FileAppender
并允许您写入SD卡(与其他解决方案一样,它要求您的应用程序具有
write\u EXTERNAL\u STORAGE
权限)。您可以使用SLF4J作为外观,在后端使用logback
public static void appendLog(String text)
{
    File logFile = new File("sdcard/log.file");
    if (!logFile.exists())
    {
        try
        {
            logFile.createNewFile();
        } catch (IOException e)
        {
            e.printStackTrace();
        }
    }
    try
    {
        // BufferedWriter for performance, true to set append to file flag
        BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true));
        buf.append(text);
        buf.newLine();
        buf.close();
    } catch (IOException e)
    {
        e.printStackTrace();
    }
}