Android日志记录:未在/ storage / emulated / 0中创建的文件夹

时间:2015-12-04 11:50:20

标签: android java.util.logging filehandler

我尝试使用java.util.logging在我的Android应用程序中创建一个日志文件,但是没有创建该文件夹。我不明白这个问题。 以下是代码

public class MainActivity extends AppCompatActivity {

    private static final Logger logger = Logger.getLogger(MainActivity.class.getName());

    static  {
       try {
           File storagePath = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "TestApp");
           storagePath.mkdirs();

           boolean append = true;
           FileHandler fh = new FileHandler(storagePath + File.separator + "TestLog.log", append);
           fh.setFormatter(new SimpleFormatter());
           logger.addHandler(fh);
       } catch (IOException e) {
           e.printStackTrace();
       }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        logger.severe("my severe message");
        logger.warning("my warning message");
        logger.info("my info message");

    }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我发现了问题。我使用Android Marshmallow进行测试。它要求用户授予写入外部存储目录的权限。

此链接非常有用:http://metova.com/dev/blog/2015/09/15/android-marshmallow-permissions/

这是一个包含教程的工作代码:http://www.learn2crack.com/2015/10/android-marshmallow-permissions.html

感谢大家的评论。