JAVA TIPS java call stack 출력 샘플 (파일, 화면)
2017.03.22 19:38
import java.io.BufferedWriter;
import java.io.FileWriter;
/**
* Created by user on 2017-03-22.
*/
public class run_log {
private static String fileName = "C:\\log\\log.txt" ;
public run_log() {
}
public static void write_file(String strText) {
try{
BufferedWriter fw = new BufferedWriter(new FileWriter(fileName, true));
fw.write(strText);
fw.newLine();
fw.flush();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void write_callstack(String strMessage) {
{
write_file(strMessage);
write_file("///////////////////////////// 방법 1 시작 //////////////////////////////");
StringBuffer strStackTrace = new StringBuffer();
Thread thread = Thread.currentThread();
StackTraceElement[] stackTrace_list = thread.getStackTrace();
for (StackTraceElement stackTrace : stackTrace_list) {
strStackTrace.append(stackTrace);
strStackTrace.append(stackTrace.getClassName() + " : " + stackTrace.getMethodName());
}
write_file(strStackTrace.toString());
write_file("///////////////////////////// 방법 1 종료 //////////////////////////////");
}
{
write_file("///////////////////////////// 방법 2 시작 //////////////////////////////");
StringBuffer strStackTrace = new StringBuffer();
StackTraceElement[] stackTrace_list = new Exception().getStackTrace();
for (StackTraceElement stackTrace : stackTrace_list) {
strStackTrace.append(stackTrace.toString() + " \n");
}
write_file(strStackTrace.toString());
write_file("///////////////////////////// 방법 2 종료 //////////////////////////////");
}
}
public static void print_callstack(String strMessage) {
{
System.out.println(strMessage);
System.out.println("///////////////////////////// 방법 1 시작 //////////////////////////////");
StringBuffer strStackTrace = new StringBuffer();
Thread thread = Thread.currentThread();
StackTraceElement[] stackTrace_list = thread.getStackTrace();
for (StackTraceElement stackTrace : stackTrace_list) {
strStackTrace.append(stackTrace);
strStackTrace.append(stackTrace.getClassName() + " : " + stackTrace.getMethodName());
}
System.out.println(strStackTrace.toString());
System.out.println("///////////////////////////// 방법 1 종료 //////////////////////////////");
}
{
System.out.println("///////////////////////////// 방법 2 시작 //////////////////////////////");
StringBuffer strStackTrace = new StringBuffer();
StackTraceElement[] stackTrace_list = new Exception().getStackTrace();
for (StackTraceElement stackTrace : stackTrace_list) {
strStackTrace.append(stackTrace.toString() + " \n");
}
System.out.println(strStackTrace.toString());
System.out.println("///////////////////////////// 방법 2 종료 //////////////////////////////");
}
}
}