码迷,mamicode.com
首页 > 移动开发 > 详细

Android 使用Log4j把日志写入SD卡,动态修改输出文件名称

时间:2015-03-04 21:07:47      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:



一、Log4j简单使用
1. 下载log4j.jar 

2. 创建Java代码

public class Loggers {

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

    public static void init() {
        try {
            PatternLayout patternLayout = new PatternLayout();
            patternLayout.setConversionPattern("%d{yyyy-MM-dd HH:mm:ss} %m %n");
            FileAppender fileAppender = new FileAppender(patternLayout, "D://log4j_info.log" );
            logger.addAppender(fileAppender);
           
        } catch (IOException e) {
            e.printStackTrace();
        }  
    }
   
   
    public static void main(String argv[]) {
        init();
       
        logger.debug( "Hello, my name is Homer Simpson." );

        logger.info( "We are the Simpsons!" );

        logger.warn( "Mmm...forbidden donut." );

        logger.error( "Dear Baby, Welcome to Dumpsville. Population: you.");

        logger.fatal( "Eep.");
       
    }
}


init中的代码是为了根据不同手机设置路径与输出文件名,所以使用代码配置输出路径。

二、Android 使用Log4j把日志写入SD卡,动态修改输出文件名称

1. 使用以下代码可以设置输出路径,在以上init方法中调用

     private static String getOutputPath(Context context, String name) {
        String rootPath = getSdcardPath(context);

        StringBuilder fileName = new StringBuilder();
        // 手机型号
        fileName.append(android.os.Build. MODEL);
        fileName.append( "-");
       
        // 系统版本
        fileName.append( "Android_");
        fileName.append(android.os.Build.VERSION.RELEASE );
        // SDK版本
        fileName.append( "_");
        fileName.append(android.os.Build.VERSION. SDK);
        fileName.append( "-");

        String path = rootPath + "/" + fileName.toString() + name;
       
        return path;
    }

    private static String getSdcardPath(Context context) {
        // SD卡是否存在
        if (android.os.Environment.getExternalStorageState().equals(android.os.Environment. MEDIA_MOUNTED)) {
            // SD卡存在,返回SD卡根目录
            return Environment.getExternalStorageDirectory().getPath();
        } else {
            return context.getFilesDir().getPath();
        }
    }



2. 设置SD卡读写权限
      <!-- SDCard中创建与删除文件权限 -->
      <uses-permission android:name ="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
      <!-- SDCard写入数据权限 -->
      <uses-permission android:name ="android.permission.WRITE_EXTERNAL_STORAGE" />    



Android 使用Log4j把日志写入SD卡,动态修改输出文件名称

标签:

原文地址:http://blog.csdn.net/androiddevelop/article/details/44042261

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!