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