android log4j日志管理的使用

Posted 化身程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android log4j日志管理的使用相关的知识,希望对你有一定的参考价值。

android中的log4j日志文件使用需要两个包,我们不需要进行配置文件的配置,一切都在代码中完成。

log4j 包下载:

下载地址:http://logging.apache.org/log4j/1.2/download.html

android-logging-log4j-1.0.3.jar 下载:

https://code.google.com/archive/p/android-logging-log4j/downloads

全部下载完成后 eclipse中智捷导入包到libs添加饮用,android studio中同样将包放入libs中右键点击包 add as librarys;然后在gradle中添加

sourceSets{
main(){
jniLibs.srcDirs = [‘libs‘]
}
}
即可使用。

新建 ConfigureLog4J 文件 然后填写以下代码:注释在代码中
/* 
   Copyright 2011 Rolf Kulemann

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 */
package test.myc.minyuchun.log4jtest;

import android.os.Environment;

import org.apache.log4j.Level;

import java.io.File;
import java.util.Date;

import de.mindpipe.android.logging.log4j.LogConfigurator;

/**
 * 日志设置
 */
public class ConfigureLog4J {
//日志级别优先度从高到低:OFF(关闭),FATAL(致命),ERROR(错误),WARN(警告),INFO(信息),DEBUG(调试),ALL(打开所有的日志,我的理解与DEBUG级别好像没有什么区别得)
//Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。
    // "yyyy-MM-dd");// 日志的输出格式

    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 + "myc" + File.separator + "log"
                + File.separator + "test.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();

    }
}

在主acrivity中使用以下代码即可

    //加载配置
        ConfigureLog4J configureLog4J=new ConfigureLog4J();
        configureLog4J.configure();
        //初始化 log
        Logger log=Logger.getLogger(this.getClass());
        //写 info 日志
        log.info("不知道呀就是测试一下啊");            

 




以上是关于android log4j日志管理的使用的主要内容,如果未能解决你的问题,请参考以下文章

Android 使用log4j管理日志

程序源代码Log4J 日志分割

使用log4j进行日志管理

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

Log4j

nodejs之日志管理