From: Kevin Lewis Date: June 23 2009 3:24pm Subject: Re: Proposal: extension to Log interface to get error message written independently of falcon-debug-mask List-Archive: http://lists.mysql.com/falcon/770 Message-Id: <4A40F396.6020306@sun.com> MIME-Version: 1.0 Content-Type: text/plain; CHARSET=US-ASCII; format=flowed Content-Transfer-Encoding: 7BIT This looks OK to push to me. Olav Sandstaa wrote: > Hi, > > The only feedback on my latest proposal/patch was from Vlad where he > suggested to change the name of the new debug mask from LogFatalError to > LogAlwaysWrite in order to make it more general and usable in other > contexts than fatal errors. I have made a new patch where I have changed > this. This patch is available here: > > http://lists.mysql.com/commits/76920 > > It would be great to get an OK to push this into Falcon as it would help > getting some more information written in some crashing tests that I am > working on. > > Thanks, > Olav > > Olav Sandstaa wrote: >> Vladislav Vaintroub wrote: >>> Olav Sandstaa wrote: >>>> Hi, >>>> >>>> I have now implement this functionality. The main added >>>> functionality to the Log class is: >>>> >>>> 1. A new debug mask called LogFatalError: >>>> >>>> This debug mask will be on by default for the Falcon log. It will not >>>> be disabled if the user provides a debug mask at startup or changes >>>> the debug mask for a running server. >>>> >>>> 2. A new log method Log::fatal(): >>>> >>>> Log messages written using this method will always be written to >>>> Falcon/MySQL's log file. >>>> >>>> Note that compare to my original proposal this debug mask will only >>>> be on for the original Falcon logger (StorageInterface::logger), >>>> not for the "MySQL logger" (StorageInterface::mysqlLogger). Due to >>>> this the default log mask is not completely maintained inside the >>>> Log class but has to be set in when the Falcon logger is added to >>>> listen to the log (in ha_falcon.cpp). >>>> >>>> The patch is available here: >>>> >>>> http://lists.mysql.com/commits/68742 >>>> >>>> It would be great if someone could have a look at the patch and >>>> either give feedback or an OK to push it. >>>> >>>> Thanks, >>>> Olav >>> >>> Olav, I think it is ok basically, but I'd prefer to maybe have it >>> differently named. It could be situations where one wants to write to >>> the log, even if there is no fatal error, but on some very >>> interesting event. Maybe LogFatalError should be LogAlwaysWrite? >> >> Thanks for the suggestion, Vlad. I agree with you, there are also "non >> fatal" situations where Falcon should write messages to the Log:: file >> without depending on the falcon_debug_mask set by the user. >> >> The reason I have called it Log::fatal() and LogFatalError is that >> what caused me to propose this in the first place was that I had seen >> a few times where Falcon experienced situations where it could not >> continue - and exited without "telling anything about why". >> >> But I am not sure if I think you suggestion to rename LogFatalError is >> the only alternative. I see basically two other situations in addition >> to "fatal situations" where Falcon always should write something to >> the Log:: , serious error conditions where it is able to continue >> (e.g., disk full situtations?) and places where we should provide >> "info" (ie. during recovery or when we do the initials startup). So >> what do you and other think about the following suggestion (the first >> is the name of the "log flag" and the second is a corresponding >> convenience method): >> >> 1. LogFatalError and Log::fatal() >> 2. LogError and Log::error() >> 3. LogInfo and Log::info() >> >> where all three "debug masks" where by default on? (note that LogInfo >> is already defined and turning it on by default would increase the >> "verbosity" probably too much and some of the exiting LogInfo messages >> had to be changed to LogDebug). >> >> Vlad's suggestion would probably be implemented as: >> >> 1. LogAlwaysWrite and Log::logAlways() >> >> Opinions? >> >> Olav >> >> > >