728x90
로그파일 생성시 클래스명과, 메소드명을 추출하는 방법입니다.
public class GetPath {
/// Fields
/// Constructor
public GetPath(){
System.out.println("Create Default Contructor");
}
/// Method
public static void main(String[] args) {
String path = new GetPath().makePath();
System.out.println(path);
}
/**
* 로그 생성시 [ClassName::MethodName]의 경로를 얻어온다.
* @return
*/
private String makePath(){
StackTraceElement[] a = new Throwable().getStackTrace();
String className = "";
String methodName = "";
String LogHeader = "";
if(a.length > 0){
// *for
for(int i = 0; i < a.length ; i ++){
System.out.println(" class name index [" + i + "] " + a[i].getClassName());
System.out.println(" method name index [" + i + "] " + a[i].getMethodName());
}
// 프로젝트 구조에따라 배열 확인 *for
className = a[1].getClassName();
methodName = a[1].getMethodName();
if(className.lastIndexOf(".") != -1){
className = className.substring(className.lastIndexOf(".")+1, className.length());
}
LogHeader = "["+className+"::"+methodName+"]";
}else{
LogHeader = "";
}
return LogHeader;
}
}
728x90
'BACK-END > JAVA' 카테고리의 다른 글
[JAVA] 메인 메소드에서 클래스 생성하기 (0) | 2021.05.03 |
---|---|
[Java] 마스킹 알고리즘 (Masking Algorithm) (0) | 2021.04.22 |
[Java] 알고리즘 문자열 2진 검색(Binary Search) 예제 (0) | 2021.04.16 |
[Java] JSCH를 사용한 SFTP 서버 통신 및 파일 다운로드 예제 (0) | 2021.04.15 |
자바 제어자 (Modifier) (0) | 2019.03.19 |