Android使用log4j实现SD卡的日志记录和demo下载

一、下载依赖包(demo里面有,可直接复制使用)

 

二、添加权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

三、主要代码实现

    public static void configure() {

        final LogConfigurator logConfigurator = new LogConfigurator();

        Date nowtime = new Date();

        // String needWriteMessage = myLogSdf.format(nowtime);

        //日志文件路径地址:SD卡下myc文件夹log文件夹的test文件

        String fileName = Environment.getExternalStorageDirectory()

                + File.separator + "MyLog4jTest" + File.separator + "logs"

                + File.separator + "daily.log";

        //设置文件名

        logConfigurator.setFileName(fileName);

        //设置root日志输出级别 默认为DEBUG

        logConfigurator.setRootLevel(Level.DEBUG);

        // 设置日志输出级别

        logConfigurator.setLevel("org.apache", Level.INFO);

        //设置 输出到日志文件的文字格式 默认 %d %-5p [%c{2}]-[%L] %m%n

        logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n");

        //设置输出到控制台的文字格式 默认%m%n

        logConfigurator.setLogCatPattern("%m%n");

        //设置总文件大小

        logConfigurator.setMaxFileSize(1024 * 1024 * 5);

        //设置最大产生的文件个数

        logConfigurator.setMaxBackupSize(1);

        //设置所有消息是否被立刻输出 默认为true,false 不输出

        logConfigurator.setImmediateFlush(true);

        //是否本地控制台打印输出 默认为true ,false不输出

        logConfigurator.setUseLogCatAppender(true);

        //设置是否启用文件附加,默认为true。false为覆盖文件

        logConfigurator.setUseFileAppender(true);

        //设置是否重置配置文件,默认为true

        logConfigurator.setResetConfiguration(true);

        //是否显示内部初始化日志,默认为false

        logConfigurator.setInternalDebugging(false);

        logConfigurator.configure();

}

注意:
/storage/emulated/0 (Permission denied) 权限已开,写入sd卡仍报错的解决办法:https://blog.csdn.net/qq_34884729/article/details/53284274

四、demo地址稍后附上

https://download.csdn.net/download/qq_35702985/11963828

 

原文地址:https://www.cnblogs.com/dmrbell/p/11811388.html