📄 patternlayout.java
字号:
package cn.edu.nju.software.sd.cll;// <editor-fold defaultstate="collapsed" desc=" UML Marker "> // #[regen=yes,id=DCE.AFD1371D-3CB5-1D1B-CC82-66EDF0BD579C]import java.text.SimpleDateFormat;// </editor-fold> import java.util.Date;/** * class PatternLayout extends Layout * to explain the form like '-%p-%n-%m' * @author SuSE * */public class PatternLayout extends Layout { /** * Default construct. * @param Sign */ public PatternLayout (String Sign) { super(Sign); }/** * Default construct */ public PatternLayout() { this(""); }// //Well, maybe the name of 'Sign ' should be called better as Pattern. //While I used the sign in the Layout ,so I didn't fix it. // // <editor-fold defaultstate="collapsed" desc=" UML Marker "> // #[regen=yes,id=DCE.9E82DF70-CC72-C5DB-B4E5-1F1BCB70FF82] // </editor-fold> // /** * format function. * Change the form. */ public String format (String Sign, Logger logger) { String s=this.getSign(); StackTraceElement stack[] = (new Throwable()).getStackTrace(); for (int index=0;index+1<s.length();index++) { if (s.charAt(index)=='%') switch(s.charAt(index+1)) { case 'm' : s=s.substring(0, index)+Sign+s.substring(index+2); break; case 'n' : s=s.substring(0,index)+logger.getName()+s.substring(index+2); break; case 'e': s=s.substring(0,index)+logger.getLevel().toString()+s.substring(index+2); break; case 't' : s=s.substring(0,index)+(System.currentTimeMillis()-LoggerFactory.getTime())+s.substring(index+2); break; case 's' : Date date=new Date(System.currentTimeMillis()); SimpleDateFormat simple=new SimpleDateFormat(); s=s.substring(0,index)+simple.format(date)+s.substring(index+2); break; case '%' : s=s.substring(0,index)+s.substring(index+1); break; case 'f' : String temp=stack[5].getMethodName(); s=s.substring(0, index)+temp+s.substring(index+2); break; case 'p': int aint=stack[5].getLineNumber(); s=s.substring(0, index)+aint+s.substring(index+2); break; } } return s; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -