00001 package cast.core.logging; 00002 00003 import org.apache.log4j.helpers.PatternConverter; 00004 import org.apache.log4j.helpers.PatternParser; 00005 00014 public class CASTPatternParser extends PatternParser { 00015 00016 static final char CAST_TIME_CHAR = 'a'; 00017 00018 static final char ID_CHAR = 'i'; 00019 00020 static final char SUBARCH_CHAR = 's'; 00021 00022 static final char COLOUR_START_CHAR = 'S'; 00023 00024 static final char COLOUR_END_CHAR = 'E'; 00025 00026 static final char LEVEL_CHAR = 'P'; 00027 00028 00029 public CASTPatternParser(String _pattern) { 00030 super(_pattern); 00031 } 00032 00033 @Override 00034 protected void finalizeConverter(char _c) { 00035 00036 PatternConverter pc = null; 00037 switch (_c) { 00038 case ID_CHAR: 00039 pc = new ComponentIDPatternConverter(formattingInfo); 00040 currentLiteral.setLength(0); 00041 addConverter(pc); 00042 break; 00043 case SUBARCH_CHAR: 00044 pc = new SubarchitectureIDPatternConverter(formattingInfo); 00045 currentLiteral.setLength(0); 00046 addConverter(pc); 00047 break; 00048 case CAST_TIME_CHAR: 00049 pc = new CASTTimePatternConverter(formattingInfo); 00050 currentLiteral.setLength(0); 00051 addConverter(pc); 00052 break; 00053 case COLOUR_START_CHAR: 00054 pc = new ColourStartConverter(formattingInfo); 00055 currentLiteral.setLength(0); 00056 addConverter(pc); 00057 break; 00058 case COLOUR_END_CHAR: 00059 pc = new ColourEndConverter(formattingInfo); 00060 currentLiteral.setLength(0); 00061 addConverter(pc); 00062 break; 00063 case LEVEL_CHAR: 00064 pc = new RetroLevelConverter(formattingInfo); 00065 currentLiteral.setLength(0); 00066 addConverter(pc); 00067 break; 00068 default: 00069 super.finalizeConverter(_c); 00070 } 00071 } 00072 00073 }
1.5.8