获取class名:
this.getClass().getName();
或
Thread.currentThread().getStackTrace()[1].getClassName();
获取方法名:
Thread.currentThread().getStackTrace()[1].getMethodName();
获取行号:
Thread.currentThread().getStackTrace()[1].getLineNumber();
获取文件名(带后缀):
Thread.currentThread().getStackTrace()[1].getFileName();
模拟异常格式:
System.out.println("Logger: "+"e.getMessage()\n\tat "+this.getClass().getName()+"."+Thread.currentThread().getStackTrace()[1].getMethodName()+"("+Thread.currentThread().getStackTrace()[1].getFileName()+":"+Thread.currentThread().getStackTrace()[1].getLineNumber()+")");
参考:传送门