程序员人生 网站导航

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

栏目:综合技术时间:2015-04-03 08:40:39


1、Log4j简单使用
1. 下载log4j.jar 
http://logging.apache.org/log4j/2.x/

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中的代码是为了根据不同手机设置路径与输出文件名,所以使用代码配置输前途径。

2、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" />



------分隔线----------------------------
------分隔线----------------------------

最新技术推荐