android 记录本地日志(存文件)的方法

本文介绍了一个用于Android应用的日志记录工具实现方法。通过使用该工具,开发者可以在应用运行过程中记录详细的日志信息,包括时间戳和具体的内容,并将这些信息保存到指定的日志文件中。文章详细解释了如何创建日志文件、追加内容以及如何格式化日志条目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该文件存放于 /data/data/包名/files/目录下

package com.joydata.www.logger;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import java.util.Calendar;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

public class MainActivity extends AppCompatActivity {

FileOutputStream  out = null;
BufferedWriter write = null;
Calendar  calendar = null;

Lock lock = new ReentrantLock(true);  //true表示公平锁   

int year = 0;
int month = 0;
int day = 0;
int hour = 0;
int min = 0;
int sec = 0;
int msec = 0;


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

    Log("this is test  log");
}



public void Log (String content) {

    lock.lock();

    calendar = Calendar.getInstance();

    year = calendar.get(Calendar.YEAR);
    month = calendar.get(Calendar.MONTH ) + 1;
    day = calendar.get(calendar.DAY_OF_MONTH);

    String log_file = String.format("%d-%d-%d.log",year,month,day);

    try {
        out = openFileOutput(log_file, Context.MODE_APPEND); //文件不存在则创建
        write = new BufferedWriter(new OutputStreamWriter(out));

        hour = calendar.get(Calendar.HOUR_OF_DAY); //24小时制
        min = calendar.get(Calendar.MINUTE);
        sec = calendar.get(Calendar.SECOND);
        msec = calendar.get(Calendar.MILLISECOND);

        String  str  = String.format("[%04d-%02d-%02d  %02d:%02d:%02d:%03d]    %s\n",year,month,day,hour,min,sec,msec,content);
        write.write(str);
        write.close();
        write = null;
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        lock.unlock(); //解锁
    }
}

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值