[
https://issues.apache.org/activemq/browse/AMQ-1361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_39914
]
Rob Davies commented on AMQ-1361:
---------------------------------
Patches 1 and 2 applied in SVN revision 565381, 565382, 565383
> Logging improvement contribution
> --------------------------------
>
> Key: AMQ-1361
> URL: https://issues.apache.org/activemq/browse/AMQ-1361
> Project: ActiveMQ
> Issue Type: Improvement
> Components: Broker, Transport
> Affects Versions: 5.0.0
> Reporter: David MartÃn Clavo
> Assignee: Rob Davies
> Fix For: 5.0.0
>
> Attachments: log_analyzer_tool.zip, patch1.zip, patch2.zip
>
>
> Hello people,
> After our proposal some time ago (view
> http://www.nabble.com/Logging-improvement-proposal-tf3570794s2354.html#a9976200),
> we would like to add a little contribution to the ActiveMQ code, and we hope
> that the ActiveMQ developers and users like it.
> We thought it would be good to improve ActiveMQ logging's capabilities, in
> order to make debugging, tracing, and understanding ActiveMQ easier.
> For this, we have added customization of ActiveMQ's Transport level logging,
> allowing users to write their own logging formats. Also, we have added
> dynamic control of this logging functions (via JMX). We have also developed a
> simple tool to analyze the log files produced.
> We have split the contribution into 2 patches, one to add customized log
> formats functionality, and the other to add dynamic management of logging via
> JMX. 1st patch is against SVN rev. 564978. 2nd patch is against 1st patch
> (incremental).
> *A. New features*
> (1) Logging enhancements (1st patch):
> It is now possible to customize what will be written to the log file at
> transport level, by writing a custom class which implements the new LogWriter
> interface.
> Also, the option: logWriterName = name has to be added to a transport URI to
> choose which class (format) will be used (more details on how to implement
> your own class / format later).
> To activate transport logging, the trace=true flag has to be used.
> People who don't want to use the new functionality will not have to change
> their URI's.
> (2) Dynamic control of logging enhancements (2nd patch):
> (a) Added ability to reload log4j.properties file to the BrokerView MBean.
> (b) If the option dynamicManagement=true is appended to the URI, transport
> logging can be managed through JMX:
> -Logging can be switched on / off for every transport or for all of
> them at once.
> -If the option startLogging=false is appended to the URI, a transport
> will initially not log, but a TransportLogger instance will be created, and
> later it can be activated by JMX.
> -Another option lets the user change the JMX port used for these
> functions.
> (3) Log parsing and analysis tool:
> The tool parses log files (any number of them) of the CustomLogWriter format
> (our own implementation of the LogWriter interface) and has the following
> features:
> (a) The tool detects incorrect situations at Transport level: sent but not
> received messages, duplicate messages at transport level.
> (b) The tool can show the communication sequence for a message ("travel path"
> of a message).
> (c) Other features:
> (c1) Loading of log files is done by choosing a directory with them.
> (c2) Incorrect features can be filtered per type or per connection.
> (c3) Long, hard to read connection / client IDs can be replaced by
> short, easy to compare IDs.
> (c4) Summary of connections, producers, consumers, log files.
> Some screen shots are included.
> (Continues on first comment)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.