You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by an...@apache.org on 2004/03/28 12:27:20 UTC
cvs commit: cocoon-2.1/src/java/org/apache/cocoon/util/log XMLCocoonLogFormatter.java CocoonTargetFactory.java CocoonLogFormatter.java ExtensiblePatternFormatter.java
antonio 2004/03/28 02:27:20
Modified: src/java/org/apache/cocoon/util/log
XMLCocoonLogFormatter.java CocoonTargetFactory.java
CocoonLogFormatter.java
ExtensiblePatternFormatter.java
Log:
Using Apache.commons.lang
Revision Changes Path
1.4 +39 -60 cocoon-2.1/src/java/org/apache/cocoon/util/log/XMLCocoonLogFormatter.java
Index: XMLCocoonLogFormatter.java
===================================================================
RCS file: /home/cvs//cocoon-2.1/src/java/org/apache/cocoon/util/log/XMLCocoonLogFormatter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XMLCocoonLogFormatter.java 5 Mar 2004 13:03:01 -0000 1.3
+++ XMLCocoonLogFormatter.java 28 Mar 2004 10:27:20 -0000 1.4
@@ -18,8 +18,11 @@
import org.apache.avalon.framework.CascadingThrowable;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
+import org.apache.commons.lang.ClassUtils;
+import org.apache.commons.lang.SystemUtils;
import org.apache.log.ContextMap;
import org.apache.log.LogEvent;
+import org.apache.log.Logger;
import org.apache.log.format.Formatter;
import java.io.StringWriter;
@@ -61,8 +64,7 @@
* @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
* @version CVS $Id$
*/
-public class XMLCocoonLogFormatter
-implements Formatter {
+public class XMLCocoonLogFormatter implements Formatter {
protected final static String TYPE_CLASS_STR = "class";
protected final static String TYPE_CLASS_SHORT_STR = "short";
@@ -91,7 +93,6 @@
"thread", // 9
"host"}; // 10
- protected final static String EOL = System.getProperty("line.separator", "\n");
protected final SimpleDateFormat dateFormatter = new SimpleDateFormat("(yyyy-MM-dd) HH:mm.ss:SSS");
protected int[] types;
@@ -104,54 +105,47 @@
*/
public String format( final LogEvent event ) {
final StringBuffer sb = new StringBuffer();
- sb.append("<log-entry>").append(EOL);
+ sb.append("<log-entry>").append(SystemUtils.LINE_SEPARATOR);
final String value = this.getRequestId(event.getContextMap());
if (value != null) {
- sb.append("<request-id>").append(value).append("</request-id>").append(EOL);
+ sb.append("<request-id>").append(value).append("</request-id>").append(SystemUtils.LINE_SEPARATOR);
}
for(int i = 0; i < this.types.length; i++) {
-
switch(this.types[i]) {
-
case TYPE_REQUEST_URI:
sb.append("<uri>");
sb.append(this.getURI(event.getContextMap()));
- sb.append("</uri>").append(EOL);
+ sb.append("</uri>").append(SystemUtils.LINE_SEPARATOR);
break;
-
case TYPE_CLASS:
sb.append("<class>");
- sb.append(this.getClass(TYPE_CLASS_STR));
- sb.append("</class>").append(EOL);
+ sb.append(this.getClass(TYPE_CLASS));
+ sb.append("</class>").append(SystemUtils.LINE_SEPARATOR);
break;
case TYPE_CLASS_SHORT:
sb.append("<class>");
- sb.append(this.getClass(TYPE_CLASS_SHORT_STR));
- sb.append("</class>").append(EOL);
+ sb.append(this.getClass(TYPE_CLASS_SHORT));
+ sb.append("</class>").append(SystemUtils.LINE_SEPARATOR);
break;
-
case TYPE_THREAD:
sb.append("<thread>");
sb.append(this.getThread(event.getContextMap()));
- sb.append("</thread>").append(EOL);
+ sb.append("</thread>").append(SystemUtils.LINE_SEPARATOR);
break;
-
case TYPE_RELATIVE_TIME:
sb.append("<relative-time>");
sb.append(event.getRelativeTime());
- sb.append("</relative-time>").append(EOL);
+ sb.append("</relative-time>").append(SystemUtils.LINE_SEPARATOR);
break;
-
case TYPE_TIME:
sb.append("<time>");
sb.append(dateFormatter.format(new Date(event.getTime())));
- sb.append("</time>").append(EOL);
+ sb.append("</time>").append(SystemUtils.LINE_SEPARATOR);
break;
-
case TYPE_THROWABLE:
Throwable throwable = event.getThrowable();
if (throwable != null) {
- sb.append("<throwable><![CDATA[").append(EOL);
+ sb.append("<throwable><![CDATA[").append(SystemUtils.LINE_SEPARATOR);
while (throwable != null) {
final StringWriter sw = new StringWriter();
throwable.printStackTrace( new java.io.PrintWriter( sw ) );
@@ -162,28 +156,24 @@
throwable = null;
}
}
- sb.append(EOL).append("]]> </throwable>").append(EOL);
+ sb.append(SystemUtils.LINE_SEPARATOR).append("]]> </throwable>").append(SystemUtils.LINE_SEPARATOR);
}
break;
-
case TYPE_MESSAGE:
- sb.append("<message><![CDATA[").append(EOL);
+ sb.append("<message><![CDATA[").append(SystemUtils.LINE_SEPARATOR);
sb.append(event.getMessage());
- sb.append(EOL).append("]]> </message>").append(EOL);
+ sb.append(SystemUtils.LINE_SEPARATOR).append("]]> </message>").append(SystemUtils.LINE_SEPARATOR);
break;
-
case TYPE_CATEGORY:
sb.append("<category>");
sb.append(event.getCategory());
- sb.append("</category>").append(EOL);
+ sb.append("</category>").append(SystemUtils.LINE_SEPARATOR);
break;
-
case TYPE_PRIORITY:
sb.append("<priority>");
sb.append(event.getPriority().getName());
- sb.append("</priority>").append(EOL);
+ sb.append("</priority>").append(SystemUtils.LINE_SEPARATOR);
break;
-
case TYPE_HOST:
sb.append("<host>");
sb.append(getHost(event.getContextMap()));
@@ -192,7 +182,7 @@
}
}
sb.append("</log-entry>");
- sb.append(EOL);
+ sb.append(SystemUtils.LINE_SEPARATOR);
return sb.toString();
}
@@ -213,13 +203,12 @@
}
}
}
-
return result;
}
private String getHost(ContextMap ctxMap) {
String result = "Unknown-host";
-
+
if (ctxMap != null) {
Object context = ctxMap.get("objectModel");
if (context != null && context instanceof Map) {
@@ -230,7 +219,6 @@
}
}
}
-
return result;
}
@@ -243,16 +231,17 @@
// Get URI from the the object model.
if (ctxMap != null) {
Object context = ctxMap.get("request-id");
- if (context != null) result = context.toString();
+ if (context != null) {
+ result = context.toString();
+ }
}
-
return result;
}
/**
* Finds the class that has called Logger.
*/
- private String getClass(String format) {
+ private String getClass(int format) {
Class[] stack = this.callStack.get();
@@ -264,13 +253,9 @@
String className = stack[i+1].getName();
// Handle optional format
- if (TYPE_CLASS_SHORT_STR.equalsIgnoreCase(format))
- {
- int pos = className.lastIndexOf('.');
- if (pos >= 0)
- className = className.substring(pos + 1);
+ if (format == TYPE_CLASS_SHORT) {
+ className = ClassUtils.getShortClassName(className);
}
-
return className;
}
}
@@ -297,31 +282,26 @@
* @param type the string
* @return the type-id
*/
- protected int getTypeIdFor( final String type ) {
- int index = 0;
- boolean found = false;
- while (!found && index < typeStrings.length) {
+ protected int getTypeIdFor(final String type) {
+ for (int index = 0; index < typeStrings.length; index++) {
if (type.equalsIgnoreCase(typeStrings[index])) {
- found = true;
- } else {
- index++;
+ return index;
}
}
- if (found) return index;
throw new IllegalArgumentException( "Unknown Type - " + type );
}
/**
* Set the types from an array of strings.
*/
- public void setTypes(String [] typeStrings) {
- if (typeStrings == null) {
- this.types = new int[0];
- } else {
+ public void setTypes(String[] typeStrings) {
+ if (typeStrings != null) {
this.types = new int[typeStrings.length];
- for(int i = 0; i < typeStrings.length; i++) {
+ for (int i = 0; i < typeStrings.length; i++) {
this.types[i] = this.getTypeIdFor(typeStrings[i]);
}
+ } else {
+ this.types = new int[0];
}
}
@@ -342,7 +322,7 @@
}
/** The class that we will search for in the call stack */
- private Class loggerClass = org.apache.log.Logger.class;
+ private Class loggerClass = Logger.class;
private CallStack callStack = new CallStack();
/**
@@ -361,8 +341,7 @@
*
* @return current execution stack as an array of classes.
*/
- public Class[] get()
- {
+ public Class[] get() {
return getClassContext();
}
}
1.3 +4 -9 cocoon-2.1/src/java/org/apache/cocoon/util/log/CocoonTargetFactory.java
Index: CocoonTargetFactory.java
===================================================================
RCS file: /home/cvs//cocoon-2.1/src/java/org/apache/cocoon/util/log/CocoonTargetFactory.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CocoonTargetFactory.java 5 Mar 2004 13:03:01 -0000 1.2
+++ CocoonTargetFactory.java 28 Mar 2004 10:27:20 -0000 1.3
@@ -102,26 +102,21 @@
private static final String XFORMAT =
"priority time category uri thread class message throwable";
- protected Formatter getFormatter(final Configuration conf)
- {
+ protected Formatter getFormatter(final Configuration conf) {
final String type = conf.getAttribute("type", "unknown");
- if ("cocoon".equals(type))
- {
+ if ("cocoon".equals(type)) {
int depth = conf.getAttributeAsInteger( "depth", 0 );
final CocoonLogFormatter formatter = new CocoonLogFormatter( depth );
final String format = conf.getValue(CFORMAT);
formatter.setFormat(format);
return formatter;
- }
- else if ("xml".equals(type))
- {
+ } else if ("xml".equals(type)) {
final XMLCocoonLogFormatter formatter = new XMLCocoonLogFormatter();
final String format = conf.getValue(XFORMAT);
formatter.setTypes(format);
return formatter;
}
-
// default formatter
return super.getFormatter(conf);
}
1.4 +29 -39 cocoon-2.1/src/java/org/apache/cocoon/util/log/CocoonLogFormatter.java
Index: CocoonLogFormatter.java
===================================================================
RCS file: /home/cvs//cocoon-2.1/src/java/org/apache/cocoon/util/log/CocoonLogFormatter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CocoonLogFormatter.java 5 Mar 2004 13:03:01 -0000 1.3
+++ CocoonLogFormatter.java 28 Mar 2004 10:27:20 -0000 1.4
@@ -20,10 +20,13 @@
import java.util.Map;
import org.apache.avalon.framework.ExceptionUtil;
+import org.apache.avalon.framework.logger.LogKitLogger;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
+import org.apache.commons.lang.ClassUtils;
import org.apache.log.ContextMap;
import org.apache.log.LogEvent;
+import org.apache.log.Logger;
/**
* An extended pattern formatter. New patterns are defined by this class are :
@@ -68,8 +71,7 @@
* SecurityManager class provides it as a protected method, so
* change it to public through a new method !
*/
- static public class CallStack extends SecurityManager
- {
+ static public class CallStack extends SecurityManager {
/**
* Returns the current execution stack as an array of classes.
* The length of the array is the number of methods on the execution
@@ -79,8 +81,7 @@
*
* @return current execution stack as an array of classes.
*/
- public Class[] get()
- {
+ public Class[] get() {
return getClassContext();
}
}
@@ -89,13 +90,13 @@
* The class that we will search for in the call stack
* (Avalon logging abstraction)
*/
- private Class logkitClass = org.apache.avalon.framework.logger.LogKitLogger.class;
+ private Class logkitClass = LogKitLogger.class;
/**
* The class that we will search for in the call stack
* (LogKit logger)
*/
- private Class loggerClass = org.apache.log.Logger.class;
+ private Class loggerClass = Logger.class;
private CallStack callStack = new CallStack();
@@ -116,36 +117,32 @@
// Search for new patterns defined here, or else delegate
// to the parent class
- if (type.equalsIgnoreCase(TYPE_CLASS_STR))
+ if (type.equalsIgnoreCase(TYPE_CLASS_STR)) {
return TYPE_CLASS;
- else if (type.equalsIgnoreCase(TYPE_URI_STR))
+ } else if (type.equalsIgnoreCase(TYPE_URI_STR)) {
return TYPE_URI;
- else if (type.equalsIgnoreCase(TYPE_THREAD_STR))
+ } else if (type.equalsIgnoreCase(TYPE_THREAD_STR)) {
return TYPE_THREAD;
- else if (type.equalsIgnoreCase(TYPE_HOST_STR))
+ } else if (type.equalsIgnoreCase(TYPE_HOST_STR)) {
return TYPE_HOST;
- else
- return super.getTypeIdFor( type );
+ } else {
+ return super.getTypeIdFor(type);
+ }
}
protected String formatPatternRun(LogEvent event, PatternRun run) {
-
// Format new patterns defined here, or else delegate to
// the parent class
switch (run.m_type) {
case TYPE_CLASS :
return getClass(run.m_format);
-
case TYPE_URI :
return getURI(event.getContextMap());
-
case TYPE_THREAD :
return getThread(event.getContextMap());
-
case TYPE_HOST :
return getHost(event.getContextMap());
}
-
return super.formatPatternRun(event, run);
}
@@ -153,29 +150,21 @@
* Finds the class that has called Logger.
*/
private String getClass(String format) {
-
Class[] stack = this.callStack.get();
// Traverse the call stack in reverse order until we find a Logger
- for (int i = stack.length-1; i >= 0; i--) {
+ for (int i = stack.length - 1; i >= 0; i--) {
if (this.logkitClass.isAssignableFrom(stack[i]) ||
- this.loggerClass.isAssignableFrom(stack[i]))
- {
+ this.loggerClass.isAssignableFrom(stack[i])) {
// Found : the caller is the previous stack element
String className = stack[i+1].getName();
-
// Handle optional format
- if (TYPE_CLASS_SHORT_STR.equalsIgnoreCase(format))
- {
- int pos = className.lastIndexOf('.');
- if (pos >= 0)
- className = className.substring(pos + 1);
+ if (TYPE_CLASS_SHORT_STR.equalsIgnoreCase(format)) {
+ className = ClassUtils.getShortClassName(className);
}
-
return className;
}
}
-
// No Logger found in call stack : can occur with AsyncLogTarget
// where formatting takes place in a different thread.
return "Unknown-class";
@@ -198,7 +187,6 @@
}
}
}
-
return result;
}
@@ -219,7 +207,6 @@
}
}
}
-
return result;
}
@@ -228,10 +215,11 @@
* Find the thread that is logged this event.
*/
private String getThread(ContextMap ctxMap) {
- if (ctxMap != null && ctxMap.get("threadName") != null)
+ if (ctxMap != null && ctxMap.get("threadName") != null) {
return (String)ctxMap.get("threadName");
- else
+ } else {
return "Unknown-thread";
+ }
}
/**
@@ -245,9 +233,12 @@
* @param format ancilliary format parameter - allowed to be null
* @return the formatted string
*/
- protected String getStackTrace( final Throwable throwable, final String format )
- {
- return throwable == null ? null : ExceptionUtil.printStackTrace(throwable,m_stackDepth);
+ protected String getStackTrace(final Throwable throwable, final String format) {
+ if (throwable != null) {
+ return ExceptionUtil.printStackTrace(throwable, m_stackDepth);
+ } else {
+ return null;
+ }
}
/**
@@ -257,8 +248,7 @@
* @param format ancilliary format parameter - allowed to be null
* @return the formatted string
*/
- protected String getTime( final long time, final String format )
- {
+ protected String getTime(final long time, final String format) {
return this.dateFormatter.format(new Date());
}
}
1.5 +116 -235 cocoon-2.1/src/java/org/apache/cocoon/util/log/ExtensiblePatternFormatter.java
Index: ExtensiblePatternFormatter.java
===================================================================
RCS file: /home/cvs//cocoon-2.1/src/java/org/apache/cocoon/util/log/ExtensiblePatternFormatter.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ExtensiblePatternFormatter.java 5 Mar 2004 13:03:01 -0000 1.4
+++ ExtensiblePatternFormatter.java 28 Mar 2004 10:27:20 -0000 1.5
@@ -18,6 +18,8 @@
import java.io.StringWriter;
import java.util.Stack;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.SystemUtils;
import org.apache.log.LogEvent;
import org.apache.log.Priority;
import org.apache.log.format.Formatter;
@@ -26,8 +28,7 @@
/**
* A refactoring of <code>org.apache.log.format.PatternFormatter</code> that
* can be extended.
- * This formater formats the LogEntries according to a input pattern
- * string.
+ * This formater formats the LogEntries according to a input pattern string.
*
* The format of each pattern element can be %[+|-]#.#{field:subformat}
*
@@ -58,7 +59,6 @@
*/
protected final static int MAX_TYPE = 8;
-
protected final static String TYPE_CATEGORY_STR = "category";
protected final static String TYPE_MESSAGE_STR = "message";
protected final static String TYPE_TIME_STR = "time";
@@ -66,16 +66,7 @@
protected final static String TYPE_THROWABLE_STR = "throwable";
protected final static String TYPE_PRIORITY_STR = "priority";
- protected final static String SPACE_16 = " ";
- protected final static String SPACE_8 = " ";
- protected final static String SPACE_4 = " ";
- protected final static String SPACE_2 = " ";
- protected final static String SPACE_1 = " ";
-
- protected final static String EOL = System.getProperty("line.separator", "\n");
-
- protected static class PatternRun
- {
+ protected static class PatternRun {
public String m_data;
public boolean m_rightJustify;
public int m_minSize;
@@ -84,7 +75,7 @@
public String m_format;
}
- protected PatternRun m_formatSpecification[];
+ protected PatternRun m_formatSpecification[];
/**
* Extract and build a pattern from input string.
@@ -94,42 +85,33 @@
* @param index the start of pattern run
* @return the number of characters in pattern run
*/
- protected int addPatternRun( final Stack stack,
- final char pattern[],
- int index )
- {
+ protected int addPatternRun(final Stack stack, final char pattern[], int index) {
final PatternRun run = new PatternRun();
final int start = index++;
- //first check for a +|- sign
- if( '+' == pattern[ index ] ) index++;
- else if( '-' == pattern[ index ] )
- {
+ // first check for a +|- sign
+ if ('+' == pattern[index]) {
+ index++;
+ } else if ('-' == pattern[index]) {
run.m_rightJustify = true;
index++;
}
- if( Character.isDigit( pattern[ index ] ))
- {
+ if (Character.isDigit(pattern[index])) {
int total = 0;
- while( Character.isDigit( pattern[ index ] ) )
- {
- total = total * 10 + (pattern[ index ] - '0');
+ while (Character.isDigit(pattern[index])) {
+ total = total * 10 + (pattern[index] - '0');
index++;
}
run.m_minSize = total;
}
//check for . sign indicating a maximum is to follow
- if( index < pattern.length && '.' == pattern[ index ] )
- {
+ if (index < pattern.length && '.' == pattern[index]) {
index++;
-
- if( Character.isDigit( pattern[ index ] ))
- {
+ if (Character.isDigit(pattern[index])) {
int total = 0;
- while( Character.isDigit( pattern[ index ] ) )
- {
+ while (Character.isDigit(pattern[index])) {
total = total * 10 + (pattern[ index ] - '0');
index++;
}
@@ -137,52 +119,42 @@
}
}
- if( index >= pattern.length || '{' != pattern[ index ] )
- {
- throw
- new IllegalArgumentException( "Badly formed pattern at character " +
- index );
+ if (index >= pattern.length || '{' != pattern[index]) {
+ throw new IllegalArgumentException(
+ "Badly formed pattern at character " + index );
}
int typeStart = index;
- while( index < pattern.length &&
- pattern[ index ]!= ':' && pattern[ index ] != '}' )
- {
+ while (index < pattern.length &&
+ pattern[index]!= ':' && pattern[index] != '}' ) {
index++;
}
int typeEnd = index - 1;
- final String type =
- new String( pattern, typeStart + 1, typeEnd - typeStart );
+ final String type = new String(pattern, typeStart + 1, typeEnd - typeStart);
run.m_type = getTypeIdFor( type );
- if( index < pattern.length && pattern[ index ] == ':' )
- {
+ if (index < pattern.length && pattern[index] == ':' ) {
index++;
- while( index < pattern.length && pattern[ index ] != '}' ) index++;
-
+ while (index < pattern.length && pattern[index] != '}' ) {
+ index++;
+ }
final int length = index - typeEnd - 2;
- if( 0 != length )
- {
- run.m_format = new String( pattern, typeEnd + 2, length );
+ if (0 != length) {
+ run.m_format = new String(pattern, typeEnd + 2, length);
}
}
- if( index >= pattern.length || '}' != pattern[ index ] )
- {
- throw new
- IllegalArgumentException("Unterminated type in pattern at character "
- + index );
+ if (index >= pattern.length || '}' != pattern[index]) {
+ throw new IllegalArgumentException(
+ "Unterminated type in pattern at character " + index );
}
-
index++;
-
stack.push( run );
-
return index - start;
}
@@ -196,37 +168,35 @@
* @param index the start of the text run
* @return the number of characters in run
*/
- protected int addTextRun( final Stack stack,
- final char pattern[],
- int index )
- {
+ protected int addTextRun( final Stack stack, final char pattern[], int index ) {
final PatternRun run = new PatternRun();
final int start = index;
boolean escapeMode = false;
- if( '%' == pattern[ index ] ) index++;
-
+ if ('%' == pattern[index]) {
+ index++;
+ }
final StringBuffer sb = new StringBuffer();
-
- while( index < pattern.length && pattern[ index ] != '%' )
- {
- if( escapeMode )
- {
- if( 'n' == pattern[ index ] ) sb.append( EOL );
- else if( 't' == pattern[ index ] ) sb.append( '\t' );
- else sb.append( pattern[ index ] );
+ while (index < pattern.length && pattern[index] != '%') {
+ if (escapeMode) {
+ if ('n' == pattern[ index ]) {
+ sb.append( SystemUtils.LINE_SEPARATOR );
+ } else if ('t' == pattern[ index ]) {
+ sb.append( '\t' );
+ } else {
+ sb.append( pattern[ index ] );
+ }
escapeMode = false;
+ } else if ('\\' == pattern[ index ]) {
+ escapeMode = true;
+ } else {
+ sb.append( pattern[ index ] );
}
- else if( '\\' == pattern[ index ] ) escapeMode = true;
- else sb.append( pattern[ index ] );
index++;
}
-
run.m_data = sb.toString();
run.m_type = TYPE_TEXT;
-
- stack.push( run );
-
+ stack.push(run);
return index - start;
}
@@ -239,81 +209,22 @@
* @param rightJustify true if the string is to be right justified in it's box.
* @param output the input string
*/
- protected void append( final StringBuffer sb,
- final int minSize,
- final int maxSize,
- final boolean rightJustify,
- final String output )
- {
- final int size = output.length();
-
- if( size < minSize )
- {
- //assert( minSize > 0 );
- if( rightJustify )
- {
- appendWhiteSpace( sb, minSize - size );
- sb.append( output );
- }
- else
- {
- sb.append( output );
- appendWhiteSpace( sb, minSize - size );
+ protected void append(final StringBuffer sb, final int minSize, final int maxSize,
+ final boolean rightJustify, final String output) {
+ if (output.length() < minSize) {
+ if (rightJustify) {
+ sb.append(StringUtils.leftPad(output, minSize));
+ } else {
+ sb.append(StringUtils.rightPad(output, minSize));
+ }
+ } else if (maxSize > 0) {
+ if (rightJustify) {
+ sb.append(StringUtils.right(output, maxSize));
+ } else {
+ sb.append(StringUtils.left(output, maxSize));
}
- }
- else if( maxSize > 0 && maxSize < size )
- {
- if( rightJustify )
- {
- sb.append( output.substring( size - maxSize ) );
- }
- else
- {
- sb.append( output.substring( 0, maxSize ) );
- }
- }
- else
- {
- sb.append( output );
- }
- }
-
- /**
- * Append a certain number of whitespace characters to a StringBuffer.
- *
- * @param sb the StringBuffer
- * @param length the number of spaces to append
- */
- protected void appendWhiteSpace( final StringBuffer sb, int length )
- {
- while( length >= 16 )
- {
- sb.append( SPACE_16 );
- length -= 16;
- }
-
- if( length >= 8 )
- {
- sb.append( SPACE_8 );
- length -= 8;
- }
-
- if( length >= 4 )
- {
- sb.append( SPACE_4 );
- length -= 4;
- }
-
- if( length >= 2 )
- {
- sb.append( SPACE_2 );
- length -= 2;
- }
-
- if( length >= 1 )
- {
- sb.append( SPACE_1 );
- length -= 1;
+ } else {
+ sb.append(output);
}
}
@@ -323,30 +234,21 @@
* @param event the event
* @return the formatted output
*/
- public String format( final LogEvent event )
- {
+ public String format(final LogEvent event) {
final StringBuffer sb = new StringBuffer();
- for( int i = 0; i < m_formatSpecification.length; i++ )
- {
- final PatternRun run = m_formatSpecification[ i ];
-
+ for( int i = 0; i < m_formatSpecification.length; i++ ) {
+ final PatternRun run = m_formatSpecification[i];
//treat text differently as it doesn't need min/max padding
- if ( run.m_type == TYPE_TEXT )
- {
- sb.append( run.m_data );
- }
- else
- {
- final String data = formatPatternRun( event, run );
-
- if( null != data )
- {
- append( sb, run.m_minSize, run.m_maxSize, run.m_rightJustify, data );
+ if (run.m_type == TYPE_TEXT) {
+ sb.append(run.m_data);
+ } else {
+ final String data = formatPatternRun(event, run);
+ if (null != data) {
+ append(sb, run.m_minSize, run.m_maxSize, run.m_rightJustify, data);
}
}
}
-
return sb.toString();
}
@@ -360,36 +262,29 @@
{
String str = null;
- switch( run.m_type )
+ switch (run.m_type)
{
case TYPE_RELATIVE_TIME:
str = getTime( event.getRelativeTime(), run.m_format );
break;
-
case TYPE_TIME:
str = getTime( event.getTime(), run.m_format );
break;
-
case TYPE_THROWABLE:
str = getStackTrace( event.getThrowable(), run.m_format );
break;
-
case TYPE_MESSAGE:
str = getMessage( event.getMessage(), run.m_format );
break;
-
case TYPE_CATEGORY:
str = getCategory( event.getCategory(), run.m_format );
break;
-
case TYPE_PRIORITY:
str = getPriority( event.getPriority(), run.m_format );
break;
-
default:
new DefaultErrorHandler().error("Unknown Pattern specification." + run.m_type, null, null);
}
-
return str;
}
@@ -400,16 +295,14 @@
* @param format ancilliary format parameter - allowed to be null
* @return the formatted string
*/
- protected String getCategory( final String category, final String format )
- {
+ protected String getCategory(final String category, final String format) {
return category;
}
/**
* Get formatted priority string.
*/
- protected String getPriority( final Priority priority, final String format )
- {
+ protected String getPriority(final Priority priority, final String format) {
return priority.getName();
}
@@ -419,8 +312,7 @@
* @param context the un-fixed context
* @return the fixed context
*/
- protected final String fix( final String context )
- {
+ protected final String fix(final String context) {
return context.replace( '.', '_' );
}
@@ -431,8 +323,7 @@
* @param format ancilliary format parameter - allowed to be null
* @return the formatted string
*/
- protected String getMessage( final String message, final String format )
- {
+ protected String getMessage(final String message, final String format) {
return message;
}
@@ -443,12 +334,13 @@
* @param format ancilliary format parameter - allowed to be null
* @return the formatted string
*/
- protected String getStackTrace( final Throwable throwable, final String format )
- {
- if( null == throwable ) return "";
- final StringWriter sw = new StringWriter();
- throwable.printStackTrace( new java.io.PrintWriter( sw ) );
- return sw.toString();
+ protected String getStackTrace(final Throwable throwable, final String format) {
+ if (null != throwable) {
+ final StringWriter sw = new StringWriter();
+ throwable.printStackTrace(new java.io.PrintWriter(sw));
+ return sw.toString();
+ }
+ return "";
}
/**
@@ -458,9 +350,8 @@
* @param format ancilliary format parameter - allowed to be null
* @return the formatted string
*/
- protected String getTime( final long time, final String format )
- {
- return Long.toString( time );
+ protected String getTime(final long time, final String format) {
+ return Long.toString(time);
}
/**
@@ -469,21 +360,21 @@
* @param type the string
* @return the type-id
*/
- protected int getTypeIdFor( final String type )
- {
- if( type.equalsIgnoreCase( TYPE_CATEGORY_STR ) ) return TYPE_CATEGORY;
- else if( type.equalsIgnoreCase( TYPE_MESSAGE_STR ) ) return TYPE_MESSAGE;
- else if( type.equalsIgnoreCase( TYPE_PRIORITY_STR ) ) return TYPE_PRIORITY;
- else if( type.equalsIgnoreCase( TYPE_TIME_STR ) ) return TYPE_TIME;
- else if( type.equalsIgnoreCase( TYPE_RELATIVE_TIME_STR ) ) return TYPE_RELATIVE_TIME;
- else if( type.equalsIgnoreCase( TYPE_THROWABLE_STR ) )
- {
+ protected int getTypeIdFor(final String type) {
+ if (type.equalsIgnoreCase(TYPE_CATEGORY_STR)) {
+ return TYPE_CATEGORY;
+ } else if (type.equalsIgnoreCase(TYPE_MESSAGE_STR)) {
+ return TYPE_MESSAGE;
+ } else if (type.equalsIgnoreCase(TYPE_PRIORITY_STR)) {
+ return TYPE_PRIORITY;
+ } else if (type.equalsIgnoreCase(TYPE_TIME_STR)) {
+ return TYPE_TIME;
+ } else if (type.equalsIgnoreCase(TYPE_RELATIVE_TIME_STR)) {
+ return TYPE_RELATIVE_TIME;
+ } else if (type.equalsIgnoreCase(TYPE_THROWABLE_STR)) {
return TYPE_THROWABLE;
- }
- else
- {
- throw new IllegalArgumentException( "Unknown Type in pattern - " +
- type );
+ } else {
+ throw new IllegalArgumentException( "Unknown Type in pattern - " + type );
}
}
@@ -492,35 +383,26 @@
*
* @param patternString the pattern
*/
- protected void parse( final String patternString )
- {
+ protected void parse(final String patternString) {
final Stack stack = new Stack();
final int size = patternString.length();
- final char pattern[] = new char[ size ];
+ final char pattern[] = new char[size];
int index = 0;
- patternString.getChars( 0, size, pattern, 0 );
-
- while( index < size )
- {
- if( pattern[ index ] == '%' &&
- !( index != size - 1 && pattern[ index + 1 ] == '%' ) )
- {
- index += addPatternRun( stack, pattern, index );
- }
- else
- {
- index += addTextRun( stack, pattern, index );
+ patternString.getChars(0, size, pattern, 0);
+ while (index < size) {
+ if (pattern[index] == '%' &&
+ !(index != size - 1 && pattern[index + 1] == '%' )) {
+ index += addPatternRun(stack, pattern, index);
+ } else {
+ index += addTextRun(stack, pattern, index);
}
}
-
final int elementCount = stack.size();
+ m_formatSpecification = new PatternRun[elementCount];
- m_formatSpecification = new PatternRun[ elementCount ];
-
- for( int i = 0; i < elementCount; i++ )
- {
- m_formatSpecification[ i ] = (PatternRun) stack.elementAt( i );
+ for (int i = 0; i < elementCount; i++) {
+ m_formatSpecification[i] = (PatternRun) stack.elementAt(i);
}
}
@@ -529,8 +411,7 @@
*
* @param format the string format
*/
- public void setFormat( final String format )
- {
- parse( format );
+ public void setFormat(final String format) {
+ parse(format);
}
}