BIND 10 #2445: suppress initial log

BIND 10 Development do-not-reply at isc.org
Wed Dec 5 14:55:33 UTC 2012


#2445: suppress initial log
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:  jelte
                Type:  defect        |                       Status:
            Priority:  medium        |  reviewing
           Component:  Boss of BIND  |                    Milestone:
            Keywords:                |  Sprint-20121218
           Sensitive:  0             |                   Resolution:
         Sub-Project:  Core          |                 CVSS Scoring:
Estimated Difficulty:  4             |              Defect Severity:  N/A
         Total Hours:  0             |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------

Comment (by jelte):

 While I work on the smaller points, let me first comment on two of your
 larger points, since they are somewhat related, and chosen for a reason:

 1. Singleton buffer
 2. Replacing appenders on specification with empty output options list

 Currently, behaviour does change on the Impl class level (see below, i'm
 changing that back), but not on the public API, because (and this is kind
 of obfuscated by the pimpl implementation; the outer calls contain extra
 lines of code), in logger_manager.[h|cc]'s existing processSpecfication()
 calls, the entire logging system is reset; all appenders are destroyed,
 and new defaults are created (for the root logger). And then it starts
 working through the specification(s) for the actual logger(s).

 So the reason I put it in a singleton was to not have to collect all
 possible bufferappenders and keep them around before the call to
 processInit() in loggermanager.h's process() calls; otherwise either
 processInit() would need to change; and in that case behaviour would
 change, since it would no longer automatically support *removing* loggers
 from your specification (they'd remain unchanged), or alternatively, it
 would have to make lists of loggers and bufferappenders before and after
 the change and then go through them, which I suspect would be more brittle
 than this is :)

 (note I do agree about the if name="" getRootLogger, but that's not a very
 difficult change)

 Regarding 2, now that I look at it again, it's not even necessary (but due
 to a mistake in the process() method without arguments it looked like it
 did. The appenders are reset and replaced by defaults anyway, so removing
 them and readding a default stdout one did not actually change behaviour
 (but it was unnecessary).

 I hope I'm making sense here :)

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


More information about the bind10-tickets mailing list