[ 
https://issues.apache.org/activemq/browse/AMQ-1361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rob Davies reassigned AMQ-1361:
-------------------------------

    Assignee: Hiram Chirino  (was: Rob Davies)

> 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: Hiram Chirino
>             Fix For: 5.0.0
>
>         Attachments: log_analyzer_tool.zip, new_patch_and_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.

Reply via email to