2014-11-24 4 views
0

NLog를 사용하여 로컬 오류와 관련된 세부 정보를 얻으려면 어떻게해야합니까? 나는 캐치 후 반환을 넣으면MVC 응용 프로그램에서 NLog 사용

private static Logger logger = LogManager.GetCurrentClassLogger(); 

public ActionResult Index() 
{ 
    try 
    { 
     var domain = db.Works.ToList(); 

     var model = Mapper.Map<IList<Work>, IList<WorkIndexViewModels>>(domain); 

     return View(model); 
    } 
    catch (Exception e) 
    { 
     logger.Error("Error in Index: " + e); 
    } 
} 

, 모델이 범위를 벗어 :

지금까지 나는이 있습니다.

try를 안에 넣으면 "모든 코드 경로가 값을 반환하지 않습니다"라는 메시지가 Action에서 발생합니다.

어떻게 해결할 수 있습니까?

답변

2

이미 오류를 캡처 한 당신이 요청 된 페이지를 표시 할 수 없기 때문에, 당신이 당신의 오류 페이지로 캐치 내에서 리디렉션 수 :

catch (Exception e) 
    { 
     logger.Error("Error in Index: " + e); 
     return RedirectToAction("Index", "Error"); // Redirect to error controller or page 
    } 
또는

, 그리고 아마도 더 적절한을, 당신은 할 수 있습니다 귀하의 작업은 500 오류를 발생 시키므로 web.config 내의 오류 구성이 리디렉션을 올바르게 처리 할 수 ​​있습니다.

catch (Exception e) 
    { 
     logger.Error("Error in Index: " + e); 
     return new HttpStatusCodeResult(500); // Raise internal server error 
    } 
+0

안녕 Jason, 감사합니다! 지연 돼서 죄송합니다. – Patrick

+0

문제 없어요 - 다행이라고 생각합니다! –

관련 문제