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

一、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卡,动态修改输出文件名称

相关文章:

你感兴趣的文章:

标签云: