[jira] [Commented] (PROTON-343) Add a pluggable Proton logging layer

2013-12-05 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13840063#comment-13840063
 ] 

ASF subversion and git services commented on PROTON-343:


Commit 1548123 from r...@apache.org in branch 'proton/trunk'
[ https://svn.apache.org/r1548123 ]

PROTON-343: added transport context

 Add a pluggable Proton logging layer
 

 Key: PROTON-343
 URL: https://issues.apache.org/jira/browse/PROTON-343
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c, proton-j
Reporter: Philip Harvey
Assignee: Philip Harvey
 Fix For: 0.6

 Attachments: 
 0001-PROTON-343-sketched-out-the-Java-parts-of-the-propos.patch


 Applications that use Proton sometimes want Proton to produce logging.
 Goals
 
 * Proton should provide a default logging implementation.
 * It should be easy for Proton client code to provide custom logging 
 implementation, e.g. one that uses the same third party logging framework as 
 their application code.
 * Proton should not have a compile-time dependency on a third party logging 
 framework
 * Proton's log output is considered to be part of its public interface.  
 Therefore, in the spirit of Proton's cross-language consistency goals, this 
 output should be consistent between proton-c and proton-j.
 * The goals that general-purpose logging frameworks try to meet - 
 performance, ease of use etc - also apply.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (PROTON-343) Add a pluggable Proton logging layer

2013-08-19 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13743875#comment-13743875
 ] 

ASF subversion and git services commented on PROTON-343:


Commit 1515455 from [~philharveyonline] in branch 'proton/trunk'
[ https://svn.apache.org/r1515455 ]

PROTON-343: Removed proton-logging module and its usages (all of which are 
functionally insignificant),
so that the upcoming Proton 0.5 release does not contain this 
not-yet-prime-time module.

 Add a pluggable Proton logging layer
 

 Key: PROTON-343
 URL: https://issues.apache.org/jira/browse/PROTON-343
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c, proton-j
Reporter: Philip Harvey
Assignee: Philip Harvey
 Attachments: 
 0001-PROTON-343-sketched-out-the-Java-parts-of-the-propos.patch


 Applications that use Proton sometimes want Proton to produce logging.
 Goals
 
 * Proton should provide a default logging implementation.
 * It should be easy for Proton client code to provide custom logging 
 implementation, e.g. one that uses the same third party logging framework as 
 their application code.
 * Proton should not have a compile-time dependency on a third party logging 
 framework
 * Proton's log output is considered to be part of its public interface.  
 Therefore, in the spirit of Proton's cross-language consistency goals, this 
 output should be consistent between proton-c and proton-j.
 * The goals that general-purpose logging frameworks try to meet - 
 performance, ease of use etc - also apply.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PROTON-343) Add a pluggable Proton logging layer

2013-08-06 Thread Philip Harvey (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13730711#comment-13730711
 ] 

Philip Harvey commented on PROTON-343:
--

As of now, most of the logging framework code has been implemented but is not 
yet being used.  Here is my list of what needs to be done to achieve this:

* Implement the main methods we need on EngineLogger.  These are currently:
** sentFrame
** receivedFrame
** sentBytes
** receivedBytes (replacing java.util.Logger in FrameParser)
** possibly from SASL-related state information, e.g. saslOutcome(outcome)
** possibly from SSL-related state information, e.g. sslDetected(true)
* Add a new Frame interface to proton-api for use by EngineLogger.sendFrame
* Replace uses of ProtocolTracer with EngineLogger.  These are currently :
** _protocolTracer.sentFrame(TransportFrame) in FrameWriter
** _protocolTracer.receivedFrame(TransportFrame) in TransportImpl
* Implement one or more DriverLogger onError() (or similar) methods to replace 
the existing use of java.util.logging 


 Add a pluggable Proton logging layer
 

 Key: PROTON-343
 URL: https://issues.apache.org/jira/browse/PROTON-343
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c, proton-j
Reporter: Philip Harvey
Assignee: Philip Harvey
 Attachments: 
 0001-PROTON-343-sketched-out-the-Java-parts-of-the-propos.patch


 Applications that use Proton sometimes want Proton to produce logging.
 Goals
 
 * Proton should provide a default logging implementation.
 * It should be easy for Proton client code to provide custom logging 
 implementation, e.g. one that uses the same third party logging framework as 
 their application code.
 * Proton should not have a compile-time dependency on a third party logging 
 framework
 * Proton's log output is considered to be part of its public interface.  
 Therefore, in the spirit of Proton's cross-language consistency goals, this 
 output should be consistent between proton-c and proton-j.
 * The goals that general-purpose logging frameworks try to meet - 
 performance, ease of use etc - also apply.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PROTON-343) Add a pluggable Proton logging layer

2013-06-28 Thread Philip Harvey (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13695403#comment-13695403
 ] 

Philip Harvey commented on PROTON-343:
--

Here are some rough notes about how the code should look that I agreed with 
Robbie and Rob.  The previously-attached patch will be modified in line with 
the notes below.

{code}
//Applications can plug in custom behaviour in several ways:

engineFactory.setEngineLogger(myCustomEngineLogger)

engineFactory.setEngineLogger(new CategoryLoggerWrapper(myCustomEngineLogger))

CategoryLoggerWrapper.setDefaultCategoryLogger(myCustomCategoryLogger)

connection.setEngineLogger(myCustomEngineLogger)
((CategoryLoggerWrapper)connection.getEngineLogger()).setCategoryLogger(myCustomCategoryLogger)

// How the new JMS client will probably do it:
class JMSConnectionImpl
{
CategoryLoggerWrapper.setDefaultCategoryLogger(new Slf4JCategoryLogger()); 
// defined in Proton
}


// public class defined in proton-api
public class CategoryLoggerWrapper implements EngineLogger, MessengerLogger...
{
private static final JUL_CATEGEORY_LOGGER = new JulCategoryLogger()

private CategoryLogger _categoryLogger = JUL_CATEGEORY_LOGGER // or use 
the logged defined in a system property if set

static setDefaultCategoryLogger(logger);
   
setCategoryLogger(logger)

logFrameReceived(Connection, )
{
_categoryLogger.log(FRAME_CATEGORY, blah blah)
}

logMessengerStuff(...)
}

// used by Python tests
public class RememberingLogger implements EngineLogger
{
   ... just remembers its invocations so we can assertion correct behaviour of 
ConnectionImpl
}


class EngineFactoryImpl
{
public Connection createConnection()
{
conn = return new ConnectionImpl(_engineLogger);
}
}
   
class SenderImpl
{
   ...
   getEngineLogger().logStuff(getConnection(), )
}
{code}

 Add a pluggable Proton logging layer
 

 Key: PROTON-343
 URL: https://issues.apache.org/jira/browse/PROTON-343
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c, proton-j
Reporter: Philip Harvey
Assignee: Philip Harvey
 Attachments: 
 0001-PROTON-343-sketched-out-the-Java-parts-of-the-propos.patch


 Applications that use Proton sometimes want Proton to produce logging.
 Goals
 
 * Proton should provide a default logging implementation.
 * It should be easy for Proton client code to provide custom logging 
 implementation, e.g. one that uses the same third party logging framework as 
 their application code.
 * Proton should not have a compile-time dependency on a third party logging 
 framework
 * Proton's log output is considered to be part of its public interface.  
 Therefore, in the spirit of Proton's cross-language consistency goals, this 
 output should be consistent between proton-c and proton-j.
 * The goals that general-purpose logging frameworks try to meet - 
 performance, ease of use etc - also apply.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira