[JIRA] Updated: (LBCLASSIC-54) TurboFilterAttachableImpl.addTurboFilter() will behave funny if newFilter.turboNext != null

[ http://jira.qos.ch/browse/LBCLASSIC-54?page=com.atlassian.jira.plugin.system... ] Ceki Gulcu updated LBCLASSIC-54: -------------------------------- Attachment: ChainIterationPerfTest.java Results: 0 chain avg=9.5244857 0 list avg=8.4000333 1 chain avg=31.9388743 1 list avg=33.4933838 2 chain avg=52.7171824 2 list avg=56.2649762 3 chain avg=89.927586 3 list avg=98.16051
TurboFilterAttachableImpl.addTurboFilter() will behave funny if newFilter.turboNext != null -------------------------------------------------------------------------------------------
Key: LBCLASSIC-54 URL: http://jira.qos.ch/browse/LBCLASSIC-54 Project: logback-classic Issue Type: Bug Reporter: Anton Tagunov Assignee: Logback dev list Priority: Minor Attachments: ChainIterationPerfTest.java
Hi! addTurboFilter() sets tailFilter incorrectly if newFilter.nextFilter != null Here's what I was trying to do. I implement a new TurboFilter. This TurboFilter is an interceptor that captures log messages and stores them for analysis. This is part of Unit Test. This Unit Test has to ensure that a specific message has been logged. This TurboFilter is not configured via logback.xml It can be but I don't want that to be mandatory. Instead this TurboFilter needs to bind itself to LoggerContext programmatically, via Logback API. It also need to bind itself as _the first filter in the chain_. Here's how I've tried to do it: final LogbackMessageProducer nuvo = new LogbackMessageProducer(true);
/* make sure we're the first in the chain */ final TurboFilter oldFirst = tfa.getFirstTurboFilter(); nuvo.setNext(oldFirst);
tfa.clearAllTurboFilters(); tfa.addTurboFilter(nuvo); However should somebody else call addTurboFilter(some-other-filter) after this behavior shall be funny. Basically all old turbo filters that were bound before my code executed shall be lost.
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
participants (1)
-
Ceki Gulcu (JIRA)