MSBuild에서 빌드 실패 시 정확한 Exception 정보 획득을 위한 stderr 활용 방법


MSBuild에서 빌드 실패 시 정확한 Exception 정보 획득을 위한 stderr 활용 방법

ProjectName.target 파일에 의해 전체 빌드를 수행할 때 보다 먼저 빌드 되고 실행되는 프로젝트가 있었다. 그러나 해당 프로젝트가 실패하면 빌드 리포트에는 실패했다는 보고만 있을 뿐, 정확한 exception 정보를 확인할 수 없었다. 처음에는 해당 코드를 try/catch로 감싼 뒤 로그파일을 bin 이하의 경로에 출력하도록 개발했다. 내부에서만 사용되는 툴이라 그다지 중요도가 높다고 생각하지 않았기에 당장의 문제를 해결할 수 있도록 작업한 것인데 쉽게 Approve가 나지 않았고, 피드백을 주고받는 과정에서 더 나은 방법으로 개선할 수 있었다. try/catch 문에서 file IO를 수행할 경우 우려되는 문제점 파일 IO 작업은 시스템 리소스를 많이 사용하며, 실패할 가능성이 있다. 따라서 예외 처리 블록 내에서 파일 IO를 수행하면, 원래 처리하려던 예외 외에 새로운 예외가 발생할 수 있다. 또한 파일명이 중복되지 않도록 하는 처리가 필요하다. 그리고 파일 출력 ...


#LogStandardErrorAsError #MsBuild #stderr #stdin #stdout #로그 #로그파일단점 #표준입출력스트림 #프로그램

원문링크 : MSBuild에서 빌드 실패 시 정확한 Exception 정보 획득을 위한 stderr 활용 방법