ELMAH는 오류 로그 웹 페이지에 호스트, 코드, 유형, 오류, 사용자, 날짜 및 시간을 기본적으로 표시합니다. 그것을 구성하고 IP 또는 REFERER와 같은 다른 필드를 표시 할 수있는 방법이 있습니까?elmah.axd 출력 필드 사용자 정의
elmah output example http://elmah.googlecode.com/svn/wiki/homeshot.png
ELMAH는 오류 로그 웹 페이지에 호스트, 코드, 유형, 오류, 사용자, 날짜 및 시간을 기본적으로 표시합니다. 그것을 구성하고 IP 또는 REFERER와 같은 다른 필드를 표시 할 수있는 방법이 있습니까?elmah.axd 출력 필드 사용자 정의
elmah output example http://elmah.googlecode.com/svn/wiki/homeshot.png
ELMAH는 오픈 소스이다. 소스를 다운로드하고 원하는대로 수정할 수 있습니다 (라이선스 조건 내에서 물론 가능).
HttpConext.Request
개체에서 사용할 수있는 모든 데이터를 트랩 할 수 있어야합니다. 데이터를 가져 와서 저장하는 코드와 데이터베이스를 수정하여 새로운 데이터에 대한 열을 만들어야합니다.
자신 만의 오류 페이지를 작성할 수 있습니다. 데이터 격자를 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"];
Elmah의 현재 버전 (이 기능을 다른 것으로 사용했는지 확실하지 않은 경우)을 제외하고는 거의 작동합니다. GetErrors()는 ErrorLogEntry 객체를 완전히 채우지 않습니다. 특히 ServerVariables는 비어 있습니다. GetErrors()를 사용하고 각 ErrorLogEntry 객체에 대해 GetError (id)를 호출하여 완전히 채워진 ErrorLogEntry 객체를 가져와야합니다. –
나는 소스를 수정해야합니다. 난 거기에 표시 된 필드를 구성하는 기본 방법이 있었으면 좋겠다 – kenwarner
나는 그 구성을 통해 변경을 할 수있는 방법이 있다고 생각하지 않는다, 당신은 소스를 수정해야 할거야. –