Android-Logger写成文件并存储起来

1. 添加依赖:

implementation 'de.mindpipe.android:android-logging-log4j:1.0.3'
implementation 'log4j:log4j:1.2.17'

2.初始化:

public String getLogDirectory() {
        return Environment.getExternalStorageDirectory().getAbsolutePath()+ "/日志/";
    }
    public void configLogger() {
        File dir = new File(getLogDirectory());
        if (!dir.exists()) {
            try {
                //按照指定的路径创建文件夹
                dir.mkdirs();
            } catch (Exception e) {
                System.out.println(""+e);
            }
        }
        File file = new File(getLogDirectory() + "/log.txt");
        if (!file.exists()) {
            try {
                //在指定的文件夹中创建文件
                file.createNewFile();
            } catch (Exception e) {
                System.out.println(""+e);
            }
        }

        LogConfigurator logConfigurator = new LogConfigurator();
        logConfigurator.setFileName(getLogDirectory() + "log.txt");//日志名称
        logConfigurator.setRootLevel(Level.ERROR);//级别
        logConfigurator.setFilePattern("%d %-5p [%t][%c{2}]-[%l] %m%n");
//打印的信息:[4GPTT][DEBUG][2018-10-16 13:19:14,553][main][HibernatePersistenceProvider.java:38]Logging Provider: org.jboss.logging.Log4jLoggerProvider
        logConfigurator.setUseLogCatAppender(true);//是否本地控制台打印输出 默认为true ,false不输出
        logConfigurator.setMaxFileSize(1024 * 1024 * 10);//文件最大10M
        logConfigurator.setMaxBackupSize(1);//最大备份日志文件的个数为1个(也就是会生成一个log.txt.1的文件;如果设为2,就表示有log.txt.1和log.txt.2;当然最新的日志还是存在log.txt中;如果想看前面的日志,可以看备份文件。)
        logConfigurator.setImmediateFlush(true);//设置所有消息是否被立刻输出 默认为true,false 不输出
        logConfigurator.configure();
    }

注:getLogDirectory()方法返回的是期望日志存储的路径;

        configLogger()方法是设置具体的存储参数,有日志文件名称,日志级别,存储的大小,最多存储的文件个数。

 

3:使用:

public static Logger logger = Logger.getLogger(MainActivity.class);

logger.debug("这是测试日志!!!debug");
logger.info("这是测试日志!!!info");
logger.warn("这是测试日志!!!warn");
logger.error("这是测试日志!!!error");

注:在哪个类中使用,就把MainActivity改为相应的类名即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值