blob: e9bb395afe4c7c75273588818a8585acc939bbc1 [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<document>
<properties>
<title>Apache Synapse - Sample 601</title>
</properties>
<body>
<section name="Sample 601: Using Synapse Observers">
<subsection name="Objective">
<p>
Demonstrate the ability to monitor the Synapse configuration at runtime using the
SynapseObserver interface
</p>
</subsection>
<subsection name="Running the Sample">
<p>
Open the synapse.properties file in the SYNAPSE_HOME/repository/conf directory
using a text editor and uncomment the line which defines the simple logging
Synapse observer.
</p>
<div class="consoleOutput">synapse.observers=samples.userguide.SimpleLoggingObserver</div>
<p>
Open the log4j.properties file in the SYNAPSE_HOME/lib directory and
uncomment the line which sets the INFO log level to the samples.userguide
package.
</p>
<div class="consoleOutput">log4j.category.samples.userguide=INFO</div>
<p>
Start Synapse using any of the sample configurations. The SimpleLoggingObserver
will capture events that occur while constructing the Synapse configuration
and log them on the console as follows.
</p>
<div class="consoleOutput">2009-08-06 14:30:24,578 [-] [main] INFO SimpleLoggingObserver Simple logging observer initialized...Capturing Synapse events...
2009-08-06 14:30:24,604 [-] [main] INFO SimpleLoggingObserver Endpoint : a3 was added to the Synapse configuration successfully
2009-08-06 14:30:24,605 [-] [main] INFO SimpleLoggingObserver Endpoint : a2 was added to the Synapse configuration successfully
2009-08-06 14:30:24,606 [-] [main] INFO SimpleLoggingObserver Endpoint : null was added to the Synapse configuration successfully
2009-08-06 14:30:24,611 [-] [main] INFO SimpleLoggingObserver Local entry : a1 was added to the Synapse configuration successfully
2009-08-06 14:30:24,649 [-] [main] INFO SimpleLoggingObserver Proxy service : StockQuoteProxy2 was added to the Synapse configuration successfully
2009-08-06 14:30:24,661 [-] [main] INFO SimpleLoggingObserver Proxy service : StockQuoteProxy1 was added to the Synapse configuration successfully
2009-08-06 14:30:24,664 [-] [main] INFO SimpleLoggingObserver Sequence : main was added to the Synapse configuration successfully
2009-08-06 14:30:24,701 [-] [main] INFO SimpleLoggingObserver Sequence : fault was added to the Synapse configuration successfully</div>
<p>
The SimpleLoggingObserver is implemented as follows. It does not override any of the event handler implementations
in the AbstractSynapseObserver class. The AbstractSynapseObserver logs all the received events by default.
</p>
<div class="consoleOutput">package samples.userguide;
import org.apache.synapse.config.AbstractSynapseObserver;
public class SimpleLoggingObserver extends AbstractSynapseObserver {
public SimpleLoggingObserver() {
super();
log.info("Simple logging observer initialized...Capturing Synapse events...");
}
}</div>
</subsection>
</section>
<p><a href="../samples.html">Back to Catalog</a></p>
</body>
</document>