On Mon, 12 Mar 2012 00:15:14 -0500, Jose Armando Garcia <jsan...@gmail.com> 
wrote:
On Wed, Mar 7, 2012 at 7:16 AM, Robert Jacques <sandf...@jhu.edu> wrote:
On Tue, 06 Mar 2012 21:22:21 -0600, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:

On 3/6/12 6:05 PM, Geoffrey Biggs wrote:

That approach means that if I actually do have a fatal error, I can't
mark it as such.


Use log.fatal for those.

Andrei


But fatal "Logs a fatal severity message. Fatal log messages terminate the
application after the message is persisted. Fatal log message cannot be
disable at compile time or at run time." The point is that he want to log a
fatal message and then terminate in a custom manner. I don't see a problem
with convince functions that log and error and then throw, but not having
the option to not throw is an unnecessary limitation.

Okay. Let me say this one last time. If you don't want to assert or
throw don't use fatal and critical. I think we are done beating a dead
horse. Maybe it is not clear from the documentation but the only
reason why fatal and critical exist is because of their assert and
throw semantic. This is also the reason why you can't disable them.

I understand that to a person that has not read the documentation is
may not be clear to them that fatal("message") asserts and
critical("message") throws. Knowing this observation maybe we can
remove these severities and make the behavior more obvious by adding
the tempalte logAndThrow.

Thanks,
-Jose

There is a strong impression that a 'fatal' error and an 'error' will appear 
differently in the log file. So long as fatal is anything more than log an 
error, flush and throw, there will be people wanting to separate the fatal log 
level from fatal log and throw command. I think the logAndThrow will clear up 
this confusion.

Reply via email to