다음을 통해 공유


MSBuild의 로깅 개요

업데이트: 2007년 11월

MSBuild 로거를 사용하여 빌드 이벤트, 메시지, 경고, 오류 등의 보고를 사용자 지정할 수 있습니다. 로거에서는 콘솔 창에 정보를 표시하거나, XML 또는 텍스트 파일에 쓰거나, 빌드 데이터를 데이터베이스에 입력할 수 있습니다.

MSBuild 로거

로거는 쉽게 읽고 해석할 수 있는 로그에 빌드 이벤트, 메시지, 경고 및 오류 정보를 릴레이하는 데 사용됩니다. 로거의 논리는 ILogger 인터페이스를 구현하는 관리되는 형식으로 작성되어 있습니다.

MSBuild 기본 콘솔 로거

명령줄에서 MSBuild.exe를 실행하면 MSBuild는 기본 콘솔 로거를 사용하여 콘솔 창에 빌드 이벤트 정보를 표시합니다. 명령줄에서 /verbosity 스위치를 사용하여 로거가 보고하는 내용의 자세한 정도를 사용자 지정할 수 있습니다.

기본 콘솔 로거는 콘솔 창에 대한 출력을 수정할 수 있는 추가 매개 변수를 허용합니다. 이러한 매개 변수는 명령줄에서 /consoleloggerparameters 스위치로 지정합니다.

사용자 지정 로거를 사용하는 경우 기본 콘솔 로거의 정보가 표시되지 않도록 할 수 있습니다. 명령줄에서 /noconsolelogger 스위치를 사용하여 기본 콘솔 로거를 비활성화합니다.

MSBuild 파일 로거

MSBuild에는 또한 빌드 이벤트 정보를 파일에 기록하는 파일 로거가 있습니다. 파일 로거를 실행하려면 명령줄에서 다음 스위치를 사용합니다. 여기서 MyLog.log는 로그 정보를 저장할 파일입니다.

/l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log

파일 로거는 최대 네 개의 매개 변수를 허용합니다. 이러한 매개 변수는 다음과 같습니다.

  • Logfile: 로그 정보를 저장할 파일을 지정하는 필수 매개 변수입니다.

  • Append: 로그를 지정된 파일에 추가할지 여부를 나타내는 선택적 boolean 매개 변수입니다. 파일에 이미 있는 텍스트에 로그를 추가하려면 true이고, 파일 내용을 덮어쓰려면 false입니다. 기본값은 false입니다.

  • Verbosity: 이 파일 로거에 대해서만 자세한 정도 설정를 전체적으로 재정의하는 선택적 매개 변수입니다. 이를 통해 몇 개의 로거에 각각 다른 자세한 정도로 기록할 수 있습니다.

  • Encoding: 파일에 대한 인코딩(예: UTF-8)을 지정하는 선택적 매개 변수입니다.

매개 변수가 여러 개일 때는 세미콜론(;)으로 구분합니다. 예를 들어, 다음 명령줄은 빌드 이벤트 정보를 MyLog.log 파일에 기록하고 diagnostic 자세한 정도와 UTF-8 인코딩을 사용하며 이 파일의 텍스트에 로그를 추가합니다.

MSBuild MyProj.proj /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log append=true;verbosity=diagnostic;encoding=utf-8

로거 지정

빌드하는 동안 기본 콘솔 로거 대신 다른 로거를 사용하려면 명령줄에서 /logger 스위치를 사용하여 사용자 지정 로거를 지정합니다. MSBuild 명령줄 스위치에 대한 자세한 내용은 MSBuild 명령줄 참조를 참조하십시오.

로거 작성

로거의 논리는 관리 코드로 작성되고 /logger 스위치를 사용하여 MSBuild 명령줄에 지정됩니다.

ILogger 인터페이스를 구현하는 관리되는 형식을 작성하여 자신만의 로거를 작성할 수 있습니다. 자세한 내용은 방법: 로거 작성을 참조하십시오.

참고 항목

작업

방법: 로거 작성

개념

다중 프로세서 환경에서의 로깅

전달 로거 만들기

기타 리소스

MSBuild 개념