You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2010/02/12 13:01:30 UTC
svn commit: r909375 - in
/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse:
SynapseLog.java config/xml/LogMediatorFactory.java
config/xml/LogMediatorSerializer.java mediators/MediatorLog.java
mediators/builtin/LogMediator.java
Author: ruwan
Date: Fri Feb 12 12:01:24 2010
New Revision: 909375
URL: http://svn.apache.org/viewvc?rev=909375&view=rev
Log:
Adding the enhancement SYNAPSE-606 into the 1.3 branch
Modified:
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/SynapseLog.java
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorFactory.java
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorSerializer.java
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/MediatorLog.java
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java
Modified: synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/SynapseLog.java
URL: http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/SynapseLog.java?rev=909375&r1=909374&r2=909375&view=diff
==============================================================================
--- synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/SynapseLog.java (original)
+++ synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/SynapseLog.java Fri Feb 12 12:01:24 2010
@@ -35,6 +35,8 @@
/**
* Check whether a call to {@link #traceOrDebug(Object)} would actually cause a log
* message to be written to the logs.
+ *
+ * @return <code>true</code> if trace or debug is enabled
*/
boolean isTraceOrDebugEnabled();
@@ -65,6 +67,8 @@
/**
* Check whether a call to {@link #traceTrace(Object)} would actually cause a log
* message to be written to the logs.
+ *
+ * @return <code>true</code> if trace is enabled for the trace log
*/
boolean isTraceTraceEnabled();
@@ -88,6 +92,20 @@
* @param msg the message to be logged
*/
void auditLog(Object msg);
+
+ /**
+ * Log an audit message at the TRACE category.
+ *
+ * @param msg the message to be logged
+ */
+ void auditDebug(Object msg);
+
+ /**
+ * Log an audit message at the TRACE category.
+ *
+ * @param msg the message to be logged
+ */
+ void auditTrace(Object msg);
/**
* Log a warning message.
@@ -97,6 +115,20 @@
* @param msg the message to be logged
*/
void auditWarn(Object msg);
+
+ /**
+ * Log an audit message at the ERROR category.
+ *
+ * @param msg the message to be logged
+ */
+ void auditError(Object msg);
+
+ /**
+ * Log an audit message at the FATAL category.
+ *
+ * @param msg the message to be logged
+ */
+ void auditFatal(Object msg);
/**
* Log a message at level 'error'.
Modified: synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorFactory.java?rev=909375&r1=909374&r2=909375&view=diff
==============================================================================
--- synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorFactory.java (original)
+++ synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorFactory.java Fri Feb 12 12:01:24 2010
@@ -42,8 +42,15 @@
private static final String HEADERS = "headers";
private static final String FULL = "full";
private static final String CUSTOM = "custom";
+ public static final String CAT_INFO = "INFO";
+ public static final String CAT_TRACE = "TRACE";
+ public static final String CAT_DEBUG = "DEBUG";
+ public static final String CAT_WARN = "WARN";
+ public static final String CAT_ERROR = "ERROR";
+ public static final String CAT_FATAL = "FATAL";
private static final QName ATT_LEVEL = new QName("level");
private static final QName ATT_SEPERATOR = new QName("separator");
+ private static final QName ATT_CATEGORY = new QName("category");
public QName getTagQName() {
return LOG_Q;
@@ -72,6 +79,28 @@
}
}
+ // Set the log statement category (i.e. INFO, DEBUG, etc..)
+ OMAttribute category = elem.getAttribute(ATT_CATEGORY);
+ if (category != null) {
+ String catstr = category.getAttributeValue().trim().toUpperCase();
+ if (CAT_INFO.equals(catstr)) {
+ logMediator.setCategory(LogMediator.CATEGORY_INFO);
+ } else if (CAT_TRACE.equals(catstr)) {
+ logMediator.setCategory(LogMediator.CATEGORY_TRACE);
+ } else if (CAT_DEBUG.equals(catstr)) {
+ logMediator.setCategory(LogMediator.CATEGORY_DEBUG);
+ } else if (CAT_WARN.equals(catstr)) {
+ logMediator.setCategory(LogMediator.CATEGORY_WARN);
+ } else if (CAT_ERROR.equals(catstr)) {
+ logMediator.setCategory(LogMediator.CATEGORY_ERROR);
+ } else if (CAT_FATAL.equals(catstr)) {
+ logMediator.setCategory(LogMediator.CATEGORY_FATAL);
+ } else {
+ handleException("Invalid log category. Category has to be one of " +
+ "the following : INFO, TRACE, DEBUG, WARN, ERROR, FATAL");
+ }
+ }
+
// check if a custom separator has been supplied, if so use it
OMAttribute separator = elem.getAttribute(ATT_SEPERATOR);
if (separator != null) {
Modified: synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorSerializer.java?rev=909375&r1=909374&r2=909375&view=diff
==============================================================================
--- synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorSerializer.java (original)
+++ synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/LogMediatorSerializer.java Fri Feb 12 12:01:24 2010
@@ -20,14 +20,12 @@
package org.apache.synapse.config.xml;
import org.apache.axiom.om.OMElement;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.apache.synapse.Mediator;
import org.apache.synapse.mediators.builtin.LogMediator;
/**
* <pre>
- * <log [level="simple|headers|full|custom"] [separator="string"]>
+ * <log [level="simple|headers|full|custom"] [separator="string"] [category="INFO|TRACE|DEBUG|WARN|ERROR|FATAL"]>
* <property> *
* </log>
* </pre>
@@ -53,6 +51,23 @@
));
}
+ if (mediator.getCategory() != LogMediator.CATEGORY_INFO) {
+ log.addAttribute(fac.createOMAttribute(
+ "category", nullNS,
+ mediator.getCategory() == LogMediator.CATEGORY_TRACE ?
+ LogMediatorFactory.CAT_TRACE :
+ mediator.getCategory() == LogMediator.CATEGORY_DEBUG ?
+ LogMediatorFactory.CAT_DEBUG :
+ mediator.getCategory() == LogMediator.CATEGORY_WARN ?
+ LogMediatorFactory.CAT_WARN :
+ mediator.getCategory() == LogMediator.CATEGORY_ERROR ?
+ LogMediatorFactory.CAT_ERROR :
+ mediator.getCategory() == LogMediator.CATEGORY_FATAL ?
+ LogMediatorFactory.CAT_FATAL :
+ LogMediatorFactory.CAT_INFO
+ ));
+ }
+
if (!LogMediator.DEFAULT_SEP.equals(mediator.getSeparator())) {
log.addAttribute(fac.createOMAttribute(
"separator", nullNS, mediator.getSeparator()));
Modified: synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/MediatorLog.java
URL: http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/MediatorLog.java?rev=909375&r1=909374&r2=909375&view=diff
==============================================================================
--- synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/MediatorLog.java (original)
+++ synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/MediatorLog.java Fri Feb 12 12:01:24 2010
@@ -104,6 +104,32 @@
}
/**
+ * Log a message at level DEBUG to all available/enabled logs.
+ */
+ public void auditDebug(Object msg) {
+ defaultLog.debug(msg);
+ if (synCtx.getServiceLog() != null) {
+ synCtx.getServiceLog().debug(msg);
+ }
+ if (traceOn) {
+ traceLog.debug(msg);
+ }
+ }
+
+ /**
+ * Log a message at level TRACE to all available/enabled logs.
+ */
+ public void auditTrace(Object msg) {
+ defaultLog.trace(msg);
+ if (synCtx.getServiceLog() != null) {
+ synCtx.getServiceLog().trace(msg);
+ }
+ if (traceOn) {
+ traceLog.trace(msg);
+ }
+ }
+
+ /**
* Log a message at level WARN to all available/enabled logs.
*/
public void auditWarn(Object msg) {
@@ -117,6 +143,32 @@
}
/**
+ * Log a message at level ERROR to all available/enabled logs.
+ */
+ public void auditError(Object msg) {
+ defaultLog.error(msg);
+ if (synCtx.getServiceLog() != null) {
+ synCtx.getServiceLog().error(msg);
+ }
+ if (traceOn) {
+ traceLog.error(msg);
+ }
+ }
+
+ /**
+ * Log a message at level FATAL to all available/enabled logs.
+ */
+ public void auditFatal(Object msg) {
+ defaultLog.fatal(msg);
+ if (synCtx.getServiceLog() != null) {
+ synCtx.getServiceLog().fatal(msg);
+ }
+ if (traceOn) {
+ traceLog.fatal(msg);
+ }
+ }
+
+ /**
* Log a message at level ERROR to the default log and to the trace, if trace is enabled.
*/
public void error(Object msg) {
Modified: synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java
URL: http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java?rev=909375&r1=909374&r2=909375&view=diff
==============================================================================
--- synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java (original)
+++ synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java Fri Feb 12 12:01:24 2010
@@ -19,9 +19,9 @@
package org.apache.synapse.mediators.builtin;
-import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.soap.SOAPHeader;
+import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseLog;
import org.apache.synapse.mediators.AbstractMediator;
@@ -50,12 +50,21 @@
/** all attributes of level 'simple' and the SOAP envelope and any properties */
public static final int FULL = 3;
+ public static final int CATEGORY_INFO = 0;
+ public static final int CATEGORY_DEBUG = 1;
+ public static final int CATEGORY_TRACE = 2;
+ public static final int CATEGORY_WARN = 3;
+ public static final int CATEGORY_ERROR = 4;
+ public static final int CATEGORY_FATAL = 5;
+
public static final String DEFAULT_SEP = ", ";
/** The default log level is set to SIMPLE */
private int logLevel = SIMPLE;
/** The separator for which used to separate logging information */
private String separator = DEFAULT_SEP;
+ /** Category of the log statement */
+ private int category = CATEGORY_INFO;
/** The holder for the custom properties */
private final List<MediatorProperty> properties = new ArrayList<MediatorProperty>();
@@ -77,7 +86,26 @@
}
}
- synLog.auditLog(getLogMessage(synCtx));
+ switch (category) {
+ case CATEGORY_INFO :
+ synLog.auditLog(getLogMessage(synCtx));
+ break;
+ case CATEGORY_TRACE :
+ synLog.auditTrace(getLogMessage(synCtx));
+ break;
+ case CATEGORY_DEBUG :
+ synLog.auditDebug(getLogMessage(synCtx));
+ break;
+ case CATEGORY_WARN :
+ synLog.auditWarn(getLogMessage(synCtx));
+ break;
+ case CATEGORY_ERROR :
+ synLog.auditError(getLogMessage(synCtx));
+ break;
+ case CATEGORY_FATAL :
+ synLog.auditFatal(getLogMessage(synCtx));
+ break;
+ }
synLog.traceOrDebug("End : Log mediator");
return true;
@@ -197,6 +225,18 @@
return properties;
}
+ public int getCategory() {
+ return category;
+ }
+
+ public void setCategory(int category) {
+ if (category > 0 && category <= 5) {
+ this.category = category;
+ } else {
+
+ }
+ }
+
private String trimLeadingSeparator(StringBuffer sb) {
String retStr = sb.toString();
if (retStr.startsWith(separator)) {