qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Qpid > Configure Operational Status Logging
Date Fri, 14 Aug 2009 11:25:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=qpid&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="http://cwiki.apache.org/confluence/display/qpid/Configure+Operational+Status+Logging">Configure
Operational Status Logging</a></h2>
    <h4>Page  <b>added</b> by             <a href="http://cwiki.apache.org/confluence/display/~ritchiem">Martin
Ritchie</a>
    </h4>
         <br/>
    <div class="notificationGreySide">
         <h2><a name="ConfigureOperationalStatusLogging-HowtoConfigureOperationalStatusLogging"></a>How
to Configure Operational Status Logging</h2>

<p>New in Apache Qpid 0.6 Java Broker is Operational Status Logging. The design overview
can be found <a href="/confluence/display/qpid/Java+Broker+Design+-+Operational+Logging"
title="Java Broker Design - Operational Logging">here</a> which details all the proposed
new logging features.</p>

<p>The Status Logging allows for a range of new log statements which provide details
about the various state changes that occur within the broker.</p>

<h3><a name="ConfigureOperationalStatusLogging-EnablingStatusUpdates"></a>Enabling
Status Updates</h3>
<p>The new status updates are controlled by the following new configuration entry.</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>&lt;broker&gt;
    ...
    &lt;status-updates&gt;ON&lt;/status-updates&gt;
    ...
&lt;/broker&gt;
</pre>
</div></div>
<p>If the 'status-updates' entry is missing then Apache Qpid Java broker will default
logging on. The value of 'on' is not case sensitive but any other string will disable updates.</p>

<h3><a name="ConfigureOperationalStatusLogging-BrokerLocale"></a>Broker
Locale</h3>

<p>The addition of the new logging format also provided the opportunity to allow localisation
of the log messages. Currently we have only completed the mapping US English, which therefore
is the default.</p>

<p>As the broker starts up a number of standard messages are logged. These messages
will be logged in the VM's default locale, if a mapping is available. Once the broker configuration
file is read then any locale specified in the configuration file will enabled and adjust the
future log statements.</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>&lt;broker&gt;
    ...
    &lt;advanced&gt;
        ...
        &lt;locale&gt;en_US&lt;/locale&gt;
    &lt;/advanced&gt;
    ...
&lt;/broker&gt;
</pre>
</div></div>

<h3><a name="ConfigureOperationalStatusLogging-NewLogMessages"></a>New Log
Messages</h3>

<p>There are a number of new log messages generated when status logging is enabled they
are broken down in to 10 categories. Each of the messages are detailed below in the <a
href="#ConfigureOperationalStatusLogging-MessageList">Message</a> Section.</p>

<h4><a name="ConfigureOperationalStatusLogging-LogFormat"></a>Log Format</h4>
<p>Currently the messages are logged as part of the default log4j configuration. The
default broker log4j configuration will produce messages in this format.</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>2009-08-13 12:40:35,192 INFO [qpid.message] MESSAGE [Broker] BRK-1002 : Starting
: Listening on TCP port 5672
</pre>
</div></div>

<p>The message is composed in the following way:</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>&lt;date-time&gt; INFO [qpid.message] MESSAGE &lt;Actor&gt; [&lt;subject&gt;]
&lt;MessageID&gt; : &lt;Message&gt;
</pre>
</div></div>
<p>The display of the first three entries '&lt;date-time&gt; INFO [qpid.message]'
depend on your particular log4j configuration however you will always get the final message
section:</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>MESSAGE &lt;Actor&gt; [&lt;Subject&gt;] &lt;MessageID&gt;
: &lt;Message&gt;
</pre>
</div></div>

<h5><a name="ConfigureOperationalStatusLogging-Actor"></a>Actor</h5>
<p>There are a number of Actors that can perform loggging, each has a different format
which gives additional information about the thread that is performing the logging.</p>
<h4><a name="ConfigureOperationalStatusLogging-Broker"></a>Broker</h4>
<p><b>Actor format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[Broker]
</pre>
</div></div>
<p><b>Used:</b><br/>
On broker startup and shutdown messages logged about the state of the broker will use the
Broker actor.</p>

<h6><a name="ConfigureOperationalStatusLogging-Management"></a>Management</h6>
<p><b>Actor format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[mng:1(169.24.29.116)]
</pre>
</div></div>
<p><b>Used:</b><br/>
When an operation is performed via the JMX interfaces the connection Actor will provide details
of the connection that performed the action.</p>

<h6><a name="ConfigureOperationalStatusLogging-Queue"></a>Queue</h6>
<p><b>Actor format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[vh(/test)/qu(example.queue)]
</pre>
</div></div>
<p><b>Used:</b><br/>
This is used when the queue is processing the messages on the queue. Currently only SUB-1003
messages will be logged by this actor</p>

<h6><a name="ConfigureOperationalStatusLogging-Subscription"></a>Subscription</h6>
<p><b>Actor format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[sub:6(vh(test)/qu(example.queue))]
</pre>
</div></div>
<p><b>Used:</b><br/>
When a subscription is acting on the broker then it will log messages. Currently SUB-1003
suspend and SUB-1002 messages are the only one that this actor will provide</p>


<h6><a name="ConfigureOperationalStatusLogging-Channel%2FConnection"></a>Channel/Connection</h6>
<p><b>Actor format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[con:1(/127.0.0.1:59556)]
[con:1(guest@/127.0.0.1:59556/test)]
[con:1(guest@/127.0.0.1:59556/test)/ch:1]
</pre>
</div></div>
<p><b>Used:</b><br/>
There are a number of formats that this actor will present depending on the information available.
On initial connection open only the remote ip is available. After authentication the username
and vhost are available.<br/>
Most logging will be of the latter type were the channel id is also present.</p>


<h5><a name="ConfigureOperationalStatusLogging-Subject"></a>Subject</h5>
<h6><a name="ConfigureOperationalStatusLogging-Binding"></a>Binding</h6>
<p><b>Subject format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[vh(/test)/ex(direct/&lt;&lt;default&gt;&gt;)/qu(testQueue)/rk(testQueue)]
</pre>
</div></div>

<h6><a name="ConfigureOperationalStatusLogging-Channel%5CConnection"></a>Channel\Connection</h6>
<p><b>Subject format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[con:1(/127.0.0.1:59556)]
[con:1(guest@/127.0.0.1:59556/test)]
[con:1(guest@/127.0.0.1:59556/test)/ch:1]
</pre>
</div></div>

<h6><a name="ConfigureOperationalStatusLogging-Exchange"></a>Exchange</h6>
<p><b>Subject format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[vh(/test)/ex(direct/testName)]
</pre>
</div></div>

<h6><a name="ConfigureOperationalStatusLogging-MessageStore"></a>MessageStore</h6>
<p><b>Subject format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[vh(/localhost)/ms(DerbyMessageStore)]
</pre>
</div></div>

<h6><a name="ConfigureOperationalStatusLogging-Queue"></a>Queue</h6>
<p><b>Subject format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[vh(/test)/qu(testQueue)]
</pre>
</div></div>

<h6><a name="ConfigureOperationalStatusLogging-Subscription"></a>Subscription</h6>
<p><b>Subject format:</b></p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>[sub:0(qu(testQueue))]
</pre>
</div></div>

<p><a name="ConfigureOperationalStatusLogging-MessageList"></a></p>
<h3><a name="ConfigureOperationalStatusLogging-MessageList"></a>Message
List</h3>
<p>The definitive list of messages is the property file found <a href="http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties?view=co"
rel="nofollow">here</a>. For readability the list as been reproduced here with additional
detail about the various parameterised values, shown like this '&lt;value&gt;', and
optional values, shown like '<a href="/confluence/pages/createpage.action?spaceKey=qpid&amp;title=optional&amp;linkCreation=true&amp;fromPageId=2850862"
class="createlink">optional</a>'. </p>

<h4><a name="ConfigureOperationalStatusLogging-Broker"></a>Broker</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>BRK-1001 : Startup : Version: &lt;Version&gt; Build: &lt;Build&gt;
BRK-1002 : Starting : Listening on &lt;Transport: TCP|TCP/SSL&gt; port &lt;Port&gt;
BRK-1003 : Shuting down : &lt;Transport: TCP|TCP/SSL&gt; port &lt;Port&gt;
BRK-1004 : Ready
BRK-1005 : Stopped
BRK-1006 : Using configuration : &lt;path&gt;
BRK-1007 : Using logging configuration : &lt;path&gt;
</pre>
</div></div>


<h4><a name="ConfigureOperationalStatusLogging-JMXManagement"></a>JMX Management
</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>MNG-1001 : Startup
MNG-1002 : Starting : &lt;service&gt; : Listening on port &lt;Port&gt;
MNG-1003 : Shuting down : &lt;service&gt; : port &lt;Port&gt;
MNG-1004 : Ready
MNG-1005 : Stopped
MNG-1006 : Using SSL Keystore : &lt;path&gt;
MNG-1007 : Open : User &lt;username&gt;
MNG-1008 : Close
</pre>
</div></div>

<h4><a name="ConfigureOperationalStatusLogging-VirtualHost"></a>VirtualHost</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>VHT-1001 : Created : &lt;name&gt;
VHT-1002 : Closed
</pre>
</div></div>

<h4><a name="ConfigureOperationalStatusLogging-DerbyMessageStore%2FMemoryMessageStore"></a>DerbyMessageStore/MemoryMessageStore</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>MST-1001 : Created : &lt;full classname&gt;
MST-1002 : Store location : &lt;path&gt;
MST-1003 : Closed
MST-1004 : Recovery Start [: &lt;queue.name&gt;]
MST-1005 : Recovered &lt;count&gt; messages for queue &lt;queue.name&gt;
MST-1006 : Recovery Complete [: &lt;queue.name&gt;]
</pre>
</div></div>

<h4><a name="ConfigureOperationalStatusLogging-Connections"></a>Connections</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>CON-1001 : Open : Client ID &lt;id&gt; : Protocol Version : &lt;version&gt;
CON-1002 : Close
</pre>
</div></div>

<h4><a name="ConfigureOperationalStatusLogging-AMQChannel"></a>AMQChannel</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>CHN-1001 : Create : Prefetch &lt;count&gt;
CHN-1002 : Flow &lt;value: Started|Stopped&gt;
CHN-1003 : Close
CHN-1004 : Prefetch Size (bytes) &lt;bytes&gt; : Count &lt;message count&gt;
</pre>
</div></div>

<h4><a name="ConfigureOperationalStatusLogging-Queue"></a>Queue</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>QUE-1001 : Create : [AutoDelete] [Durable|Transient] [Priority:&lt;levels&gt;]
Owner:&lt;name&gt;
QUE-1002 : Deleted
</pre>
</div></div>

<h4><a name="ConfigureOperationalStatusLogging-Exchange"></a>Exchange</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>EXH-1001 : Create : [Durable] Type:&lt;value&gt; Name:&lt;value&gt;
EXH-1002 : Deleted
</pre>
</div></div>

<h4><a name="ConfigureOperationalStatusLogging-Bindings"></a>Bindings</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>BND-1001 : Create [: Arguments : &lt;key=value&gt;]
BND-1002 : Deleted
</pre>
</div></div>

<h4><a name="ConfigureOperationalStatusLogging-Subscription"></a>Subscription</h4>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>SUB-1001 : Create[ : Durable][ : Arguments : {0}]
SUB-1002 : Close
SUB-1003 : State : &lt;state: ACTIVE|SUSPENDED&gt;
</pre>
</div></div>

    </div>
    <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
       </div>
       <a href="http://cwiki.apache.org/confluence/display/qpid/Configure+Operational+Status+Logging">View
Online</a>
              |
       <a href="http://cwiki.apache.org/confluence/display/qpid/Configure+Operational+Status+Logging?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
           </div>
</div>
</div>
</div>
</div>
</body>
</html>

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org


Mime
View raw message