Если вы разрешите распространению исключения на веб-модуль Elmah, оно автоматически зарегистрирует эти исключения.
Однако вы можете программно войти непосредственно в Elmah, для этого есть несколько способов:
Вы можете использовать такой код в предложении catch в коде:
try{....}
catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); }
Еще один способ сделать это:
Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));
Я бы, однако, обернул этот код в более общий интерфейс стиля IErrorLogger, чтобы ваш код нижнего уровня не нуждался в жесткой зависимости от самого Elmah