Log-function switch injects too much noise into log file
--------------------------------------------------------
Key: QPID-3891
URL: https://issues.apache.org/jira/browse/QPID-3891
Project: Qpid
Issue Type: Improvement
Components: C++ Broker
Affects Versions: 0.16
Reporter: Chuck Rolke
Assignee: Chuck Rolke
Fix For: Future
When the C++ Broker is started with '--log-function yes' the function name that
gets printed is barely usable. From a coding standpoint it's pretty efficient
but from a user standpoint raw BOOST_CURRENT_FUNCTION output is too much. For
example here is the same log entry printed from two systems:
Linux:
2012-03-08 14:09:47 debug std::map<std::basic_string<char>,
std::map<qpid::management::ManagementAgent::SchemaClassKey,
qpid::management::ManagementAgent::SchemaClass,
qpid::management::ManagementAgent::SchemaClassKeyComp> >::iterator
qpid::management::ManagementAgent::findOrAddPackageLH(std::string): SEND
PackageInd package=org.apache.qpid.broker to=schema.package
Windows:
2012-03-06 14:20:05 debug class std::_Tree_iterator<class std::_Tree_val<class
std::_Tmap_traits<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,class std::map<struct
qpid::management::ManagementAgent::SchemaClassKey,struct
qpid::management::ManagementAgent::SchemaClass,struct
qpid::management::ManagementAgent::SchemaClassKeyComp,class
std::allocator<structstd::pair<struct
qpid::management::ManagementAgent::SchemaClassKey const ,struct
qpid::management::ManagementAgent::SchemaClass> > >,struct std::less<class
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> >,class std::allocator<struct std::pair<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const ,class
std::map<struct qpid::management::ManagementAgent::SchemaClassKey,struct
qpid::management::ManagementAgent::SchemaClass,struct
qpid::management::ManagementAgent::SchemaClassKeyComp,class
std::allocator<struct std::pair<struct
qpid::management::ManagementAgent::SchemaClassKey const ,struct
qpid::management::ManagementAgent::SchemaClass> > > > >,0> > > __thiscall
qpid::management::ManagementAgent::findOrAddPackageLH(class
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>): SEND PackageInd package=org.apache.qpid.broker to=schema.package
This level of detail has no use. An easy improvement is to print only the class
and function names and not to print the function return type and the function
arguments.
Trimmed:
2012-03-06 16:55:38 debug
qpid::management::ManagementAgent::findOrAddPackageLH: SEND PackageInd
package=org.apache.qpid.broker to=schema.package
Coincidently, these function names in all their glory are what is used for log
message filtering. If one specifies '--log-enable debug+:_Tree_iterator' then
the Windows log will be emitted but the Linux log will not. By trimming the
function name then Windows and Linux will get the same filter results.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]