/**
* Created by bearkinf on 2017. 4. 18..
*/
public class LogUtil {
/**
* 시스템 정보 가져와 로그에 출력. 클래스,메서드,라인넘버
*/
public static final String BuildLogMSG(Object msg) {
StackTraceElement ste = Thread.currentThread().getStackTrace()[4];
StringBuilder sb = new StringBuilder();
//이클립스에서 사용되는 바로가기
sb.append("at [(" + ste.getFileName() + ":" + ste.getMethodName() + ":" + ste.getLineNumber() + ")] ");
//안드로이드 스튜디오에서 사용되는 바로가기
sb.append("(" + ste.getFileName() + ":" + ste.getLineNumber() + ")");
// 중복되는 문제를 어떻게 해결할까ㅡㅡ;;
sb.append(msg);
return sb.toString();
}
/**
* true : 보여줌, false 보여주지 않음.
*/
private static final boolean LOG_VIEW = true;
/**
* TAG : 로그캣 필터이름
*/
private static final String TAG = "bear";
/**
* true : 파일 생성.
*/
private static boolean MAKE_LOG_FILE = false;
private static String FileName = "";
/**
* 주황 Warning(이클립스), Warn : BBB529 (안드로이드 스튜디오)
*/
public static final void w(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.w(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 주황 Warning(이클립스), Warn : BBB529 (안드로이드 스튜디오)
*/
public static final void w(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.w(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 주황 Warning(이클립스), Warn : BBB529 (안드로이드 스튜디오)
*/
public static final void W(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.w(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 주황 Warning(이클립스), Warn : BBB529 (안드로이드 스튜디오)
*/
public static final void W(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.w(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 녹색 information(이클립스), Info : 6A8759 (안드로이드 스튜디오)
*/
public static final void i(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.i(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 녹색 information(이클립스), Info : 6A8759 (안드로이드 스튜디오)
*/
public static final void i(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.i(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 녹색 information(이클립스), Info : 6A8759 (안드로이드 스튜디오)
*/
public static final void I(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.i(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 녹색 information(이클립스), Info : 6A8759 (안드로이드 스튜디오)
*/
public static final void I(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.i(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 검정 verbose(이클립스), 9876aa(안드로이드 스튜디오)
*/
public static final void v(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.v(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 검정 verbose(이클립스), 9876aa(안드로이드 스튜디오)
*/
public static final void V(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.v(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 검정 verbose(이클립스), 9876aa(안드로이드 스튜디오)
*/
public static final void v(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.v(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 검정 verbose(이클립스), 9876aa(안드로이드 스튜디오)
*/
public static final void V(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.v(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 파랑 debug(이클립스) , Debug : 6897BB (안드로이드 스튜디오)
*/
public static final void d(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.d(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 파랑 debug(이클립스) , Debug : 6897BB (안드로이드 스튜디오)
*/
public static final void d(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.d(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 파랑 debug(이클립스) , Debug : 6897BB (안드로이드 스튜디오)
*/
public static final void D(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.d(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 파랑 debug(이클립스) , Debug : 6897BB (안드로이드 스튜디오)
*/
public static final void D(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.d(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 빨강 error(이클립스), Error : FF6B68 (안드로이드 스튜디오)
*/
public static final void e(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.e(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 빨강 error(이클립스), Error : FF6B68 (안드로이드 스튜디오)
*/
public static final void e(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.e(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 빨강 error(이클립스), Error : FF6B68 (안드로이드 스튜디오)
*/
public static final void E(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.e(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 빨강 error(이클립스), Error : FF6B68 (안드로이드 스튜디오)
*/
public static final void E(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.e(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 로그파일로 기록
*
* 파일로 만들기 전에 메모리접근권한을 어떻게 설정할것인가?
*
*
*/
private static final void MakeLogFile(Object object) {
String dir = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Log"
+ File.separator;
String name = "B_Log.txt";
File files = new File(dir + name);
if (!files.isDirectory()) {
new File(dir).mkdirs();
}
if (!files.exists()) {
try {
files.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
BufferedWriter bfw = new BufferedWriter(new FileWriter(files, true));
bfw.write(object.toString());
bfw.write("\n");
bfw.flush();
bfw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 로그파일로 기록 파일이름 지정.
*/
private static final void MakeLogFile(Object object, String FileName) {
String dir = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Log"
+ File.separator;
File files = new File(dir + FileName);
if (!files.isDirectory()) {
new File(dir).mkdirs();
}
if (!files.exists()) {
try {
files.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
BufferedWriter bfw = new BufferedWriter(new FileWriter(files, true));
bfw.write(object.toString());
bfw.write("\n");
bfw.flush();
bfw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
* Created by bearkinf on 2017. 4. 18..
*/
public class LogUtil {
/**
* 시스템 정보 가져와 로그에 출력. 클래스,메서드,라인넘버
*/
public static final String BuildLogMSG(Object msg) {
StackTraceElement ste = Thread.currentThread().getStackTrace()[4];
StringBuilder sb = new StringBuilder();
//이클립스에서 사용되는 바로가기
sb.append("at [(" + ste.getFileName() + ":" + ste.getMethodName() + ":" + ste.getLineNumber() + ")] ");
//안드로이드 스튜디오에서 사용되는 바로가기
sb.append("(" + ste.getFileName() + ":" + ste.getLineNumber() + ")");
// 중복되는 문제를 어떻게 해결할까ㅡㅡ;;
sb.append(msg);
return sb.toString();
}
/**
* true : 보여줌, false 보여주지 않음.
*/
private static final boolean LOG_VIEW = true;
/**
* TAG : 로그캣 필터이름
*/
private static final String TAG = "bear";
/**
* true : 파일 생성.
*/
private static boolean MAKE_LOG_FILE = false;
private static String FileName = "";
/**
* 주황 Warning(이클립스), Warn : BBB529 (안드로이드 스튜디오)
*/
public static final void w(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.w(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 주황 Warning(이클립스), Warn : BBB529 (안드로이드 스튜디오)
*/
public static final void w(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.w(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 주황 Warning(이클립스), Warn : BBB529 (안드로이드 스튜디오)
*/
public static final void W(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.w(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 주황 Warning(이클립스), Warn : BBB529 (안드로이드 스튜디오)
*/
public static final void W(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.w(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 녹색 information(이클립스), Info : 6A8759 (안드로이드 스튜디오)
*/
public static final void i(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.i(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 녹색 information(이클립스), Info : 6A8759 (안드로이드 스튜디오)
*/
public static final void i(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.i(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 녹색 information(이클립스), Info : 6A8759 (안드로이드 스튜디오)
*/
public static final void I(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.i(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 녹색 information(이클립스), Info : 6A8759 (안드로이드 스튜디오)
*/
public static final void I(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.i(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 검정 verbose(이클립스), 9876aa(안드로이드 스튜디오)
*/
public static final void v(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.v(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 검정 verbose(이클립스), 9876aa(안드로이드 스튜디오)
*/
public static final void V(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.v(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 검정 verbose(이클립스), 9876aa(안드로이드 스튜디오)
*/
public static final void v(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.v(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 검정 verbose(이클립스), 9876aa(안드로이드 스튜디오)
*/
public static final void V(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.v(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 파랑 debug(이클립스) , Debug : 6897BB (안드로이드 스튜디오)
*/
public static final void d(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.d(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 파랑 debug(이클립스) , Debug : 6897BB (안드로이드 스튜디오)
*/
public static final void d(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.d(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 파랑 debug(이클립스) , Debug : 6897BB (안드로이드 스튜디오)
*/
public static final void D(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.d(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 파랑 debug(이클립스) , Debug : 6897BB (안드로이드 스튜디오)
*/
public static final void D(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.d(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 빨강 error(이클립스), Error : FF6B68 (안드로이드 스튜디오)
*/
public static final void e(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.e(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 빨강 error(이클립스), Error : FF6B68 (안드로이드 스튜디오)
*/
public static final void e(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.e(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 빨강 error(이클립스), Error : FF6B68 (안드로이드 스튜디오)
*/
public static final void E(Object msg) {
if (!LOG_VIEW) {
return;
}
Log.e(TAG, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 빨강 error(이클립스), Error : FF6B68 (안드로이드 스튜디오)
*/
public static final void E(String tag, Object msg) {
if (!LOG_VIEW) {
return;
}
Log.e(tag, BuildLogMSG(msg));
if (MAKE_LOG_FILE && !"".equals(FileName)) {
MakeLogFile(BuildLogMSG(msg), FileName);
} else if (MAKE_LOG_FILE) {
MakeLogFile(BuildLogMSG(msg));
}
}
/**
* 로그파일로 기록
*
* 파일로 만들기 전에 메모리접근권한을 어떻게 설정할것인가?
*
*
*/
private static final void MakeLogFile(Object object) {
String dir = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Log"
+ File.separator;
String name = "B_Log.txt";
File files = new File(dir + name);
if (!files.isDirectory()) {
new File(dir).mkdirs();
}
if (!files.exists()) {
try {
files.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
BufferedWriter bfw = new BufferedWriter(new FileWriter(files, true));
bfw.write(object.toString());
bfw.write("\n");
bfw.flush();
bfw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 로그파일로 기록 파일이름 지정.
*/
private static final void MakeLogFile(Object object, String FileName) {
String dir = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Log"
+ File.separator;
File files = new File(dir + FileName);
if (!files.isDirectory()) {
new File(dir).mkdirs();
}
if (!files.exists()) {
try {
files.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
BufferedWriter bfw = new BufferedWriter(new FileWriter(files, true));
bfw.write(object.toString());
bfw.write("\n");
bfw.flush();
bfw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
'Android > 소스' 카테고리의 다른 글
안드로이드 리사이클러뷰(RecyclerView) 정리. (0) | 2018.02.02 |
---|---|
RecyclerView Adapter 사용 (0) | 2017.09.07 |
FileUriExposedException 안드로이드 n(sdk 24)에러잡기.(sdcard) (0) | 2017.04.19 |
향상된 for (0) | 2016.02.01 |
백버튼 클릭 종료 핸들러 (0) | 2015.08.04 |