Log the exception just raised. The value is either a string (in which case
the exception will be retrieved from the thread state) or the value is a
configured exception (in which case it will be used directly). Not
specifying either will use the information specified in SetExceptionInfo()
instead and if that is not specified default values will be used.
Define the behavior that specifies how exceptions are logged. The first
parameter specifies the base class of exceptions that are logged in a
special way and once specified does not need to be specified in the
method LogException(). The second parameter specifies a method to call to
build an instance of the base class if the exception is not already an
instance of that class. The last parameter specifies the message that
is logged immediately prior to logging the exception.