Вы можете создать StackTrace
объект из объекта исключения. Он будет включать StackFrame
s, о которых есть информация об исключении. Затем вы можете найти имена файлов и методов, позиции и еще много чего, если они доступны. Конечно, это само собой разумеется, но все это доступно , только если вы скомпилировали свою сборку для включения символов отладки (которые, как я предполагаю, могут быть доступны в MVC).
catch (Exception ex)
{
var st = new StackTrace(ex, true); // create the stack trace
var query = st.GetFrames() // get the frames
.Select(frame => new
{ // get the info
FileName = frame.GetFileName(),
LineNumber = frame.GetFileLineNumber(),
ColumnNumber = frame.GetFileColumnNumber(),
Method = frame.GetMethod(),
Class = frame.GetMethod().DeclaringType,
});
// log the information obtained from the query
}