一、下载依赖包(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地址稍后附上