Android 使用Log4j把日志寫入SD卡,動態修改輸出文件名稱
來源:程序員人生 發布時間:2015-04-03 08:40:39 閱讀次數:3989次
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" />
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈