Android 使用log4j管理日志

log4j是我在Java开发中比较常用的日志管理工具了,同样的我们也可以在Android中使用。在Android中不需要配置文件进行配置,一切都在代码中完成。

一、下载jar包:

log4j-1.2.17.jar
android-logging-log4j-1.0.3.jar

二、在AndroidManifest.xml中配置文件读取权限

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

三、使用方法1:

public class MainActivity extends AppCompatActivity {

    private Logger testLogger;

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

        configLog();

        testLogger.debug("log4j test in android !");//打印需要的内容

    }

    public void configLog() {

        // 日志配置设置
        final LogConfigurator logConfigurator = new LogConfigurator();
        
        // 配置日志文件路径
        logConfigurator.setFileName(Environment.getExternalStorageDirectory() + File.separator + "log4j_test.txt");

        logConfigurator.configure();

        testLogger = Logger.getLogger("Log4jTest");
    }

}

四:使用方法2:

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("不知道呀就是测试一下啊");      
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值