2010-03-30 14 views

답변

2

ELMAH는 오픈 소스이다. 소스를 다운로드하고 원하는대로 수정할 수 있습니다 (라이선스 조건 내에서 물론 가능).

HttpConext.Request 개체에서 사용할 수있는 모든 데이터를 트랩 할 수 있어야합니다. 데이터를 가져 와서 저장하는 코드와 데이터베이스를 수정하여 새로운 데이터에 대한 열을 만들어야합니다.

+0

나는 소스를 수정해야합니다. 난 거기에 표시 된 필드를 구성하는 기본 방법이 있었으면 좋겠다 – kenwarner

+0

나는 그 구성을 통해 변경을 할 수있는 방법이 있다고 생각하지 않는다, 당신은 소스를 수정해야 할거야. –

4

자신 만의 오류 페이지를 작성할 수 있습니다. 데이터 격자를 ErrorLog.GetErrors()에 바인딩하고 원하는 열을 사용하십시오.

List<ErrorLogEntry> entries = new List<ErrorLogEntry>(); 
ErrorLog.GetDefault(HttpContext.Current).GetErrors(0, 50, entries); 
string ip = entries[0].Error.ServerVariables["REMOTE_ADDR"]; 
string referrer = entries[0].Error.ServerVariables["HTTP_REFERER"]; 
+3

Elmah의 현재 버전 (이 기능을 다른 것으로 사용했는지 확실하지 않은 경우)을 제외하고는 거의 작동합니다. GetErrors()는 ErrorLogEntry 객체를 완전히 채우지 않습니다. 특히 ServerVariables는 비어 있습니다. GetErrors()를 사용하고 각 ErrorLogEntry 객체에 대해 GetError (id)를 호출하여 완전히 채워진 ErrorLogEntry 객체를 가져와야합니다. –