BIND 10 #558: Disable log4cxx dependency in logging API

BIND 10 Development do-not-reply at isc.org
Tue Feb 8 18:24:44 UTC 2011


#558: Disable log4cxx dependency in logging API
-------------------------------------+-------------------------------------
                 Reporter:  stephen  |                Owner:  jelte
                     Type:  defect   |               Status:  reviewing
                 Priority:  major    |            Milestone:  R-Team-
                Component:  logging  |  Sprint-20110222
                 Keywords:           |           Resolution:
Estimated Number of Hours:  2.0      |            Sensitive:  0
                Billable?:  1        |  Add Hours to Ticket:  0
                Internal?:  0        |          Total Hours:  0
-------------------------------------+-------------------------------------
Changes (by stephen):

 * owner:  stephen => jelte


Comment:

 > I'm unsure what the goal (and/or the next step) is now; I had the
 following comments,
 > until I realized that the whole purpose was to really remove log4cxx
 use, but only
 > 'temporarily', as it says in the ticket, so what to do about this?
 >
 > lib/log/Makefile.am (also) contains a few commented-out includes (for
 LOG4CXX) that can
 > probably be removed now (as well as the commented-out part of
 configure.ac)
 >
 > is logger_impl_log4cxx.h still used (or cc for that matter)?

 I suggest that the redundant files (logger_impl_logcxx.* and
 xdebuglevel.*) are left in the distribution for now, until we decide what
 packages we're using (at the Prague meeting).  The file documentation.txt
 does mention them and notes how to get back to using log4cxx.

 > The pimpl use itself (in logger_impl.h) seems a bit off, isn't the
 > idea not to actually *define* the xxxImpl class in the headers, but
 > to only name it and let the .cc define it?

 As I understand it, pimpl means that the client code using the public API
 - in this case code using logger.h - is not exposed to the internals of
 the implementation.  How the implementation class is laid out - defined in
 the .cc file or in its own .cc file - is not part of pimpl.

 > is lib/log/tests/xdebuglevel_unittest still used? (it got commented out
 in the makefile)
 > (perhaps also related to above)

 No - it is related to the above.

 > Really minor (and i mean MINOR, one would almost call it trivial) naming
 point:
 > !LoggerImpl?* getLoggerptr() {
 > It's private and all, just wanted to mention that we tend to capitalize
 'ptr' in the rest of
 > our code :) (although, come to think of it, we use the Ptr postfix
 usually to name a shared_ptr)

 I'll change it - "Logger" and "Ptr" are two words so should be
 caiptalised.  It also occurs to me that I should disable the copy
 constructor and assignment operator.  (Copying loggers makes no sense -
 just create another one.)

 > You might want to have the generator include some comments before that
 initializer and
 > instantiator as to why they are necessary, and why they have such a
 weird name (and/or
 > why that doesn't matter).
 Done.

 > !LoggerImpl?, lots of lexical casts there (because of the change of
 MessageID I guess), which
 > seem unnecessary in this context, why not pass the ident and text as
 separate arguments to
 > output(), and have that function operator<<() them separately?
 Good catch, done.


 > I am not sure I oppose your suggestion at the bottom of #559, btw,
 perhaps more of this
 > actually warrants a focused phone discussion?
 OK, I'll organise something.

 > Apart from this, the code looks ok, btw :) (though perhaps Jinmei wants
 to have a quick
 > look at the changes for the init problem)
 I'll pass it to Jinmei for his comments.

-- 
Ticket URL: <http://bind10.isc.org/ticket/558#comment:12>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list