
[ http://jira.qos.ch/browse/LBCLASSIC-273?page=com.atlassian.jira.plugin.syste... ] Ceki Gulcu commented on LBCLASSIC-273: -------------------------------------- Hi Joern, Retaining status messages from previous invocations of Joran may be sometimes useful. This assumption precludes your approach of resetting StatusManager's state which I must admit much simpler than what I have in mind. Anyhow, the current behavior where status messages from previous invocations of a configurator, i.e. Joran/Gaffer, are printed is indeed confusing and needs to be corrected. The confusing behavior occurs if you enable debug mode via the <configuration debug="true"> directive or if there were warnings or errors in a previous invocation of Joran/Gaffer. Consequently, I think we should alter logback's behavior for those two cases (debug=true and auto-printing in case of errors) instead of clearing status messages from earlier runs of Joran/Gaffer. I think the required changes are limited to the ConfigurationAction class and the init() method of StaticLoggerBinder. Moreover, since the StaticLoggerBinder#init method is invoked at most once during the lifetime of a context, only ConfigurationAction needs to be modified. Regarding the level field in BasicManager, AFAIK, it is used by StatusPrinter's printIfErrorsOccured() and printInCaseOfErrorsOrWarnings() methods which in turn are only used by StaticLoggerBinder#init. Thus, from a somewhat narrow point of view there is no need to reset the level field in BasicManager. Of course, from a larger API view point, the current meaning of level is unclear and rather confusing. To solve this issue, I would start by modifying the end() method in ConfigurationAction so that it only prints status messages added after its begin() method was invoked. This could be achieved by adding a new print method to StatusPrinter. The new print() method would admit a second parameter designating the cut off point. As mentioned earlier, just resetting the StausManager is possibly a saner approach. Let me know what you think.
Status messages of StatusManager are not cleared upon call to LoggerContext.reset() -----------------------------------------------------------------------------------
Key: LBCLASSIC-273 URL: http://jira.qos.ch/browse/LBCLASSIC-273 Project: logback-classic Issue Type: Bug Affects Versions: 0.9.28 Reporter: Joern Huxhorn Assignee: Logback dev list
-- 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