VS Code 자세한 Task 로그로 실행 문제 진단하기
연습 Workspace에서 task.verboseLogging을 켜고, 실패 Task의 Terminal 오류와 Tasks: Show Task Log의 내부 이벤트를 함께 확인합니다.
이번 편의 핵심
DIAGNOSTIC_LAB_FAILURE: demo only, Task Event kind: 자세한 로그, 복구 후 DIAGNOSTIC_LAB_OK를 확인하고 설정을 기본값 false 또는 Key 제거 상태로 되돌립니다.
Terminal은 Task 프로그램의 stdout/stderr를, Task 로그는 VS Code Task 서비스의 내부 처리 상태를 보여줍니다. 로그를 공유하기 전에는 경로·사용자명·Task 인수·토큰을 반드시 검토합니다.
1. 시작하기 전에
VS Code에서 폴더를 열고 Tasks: Run Task를 사용해 본 초보자용 실습입니다. 실제 프로젝트의 로그와 설정을 섞지 않도록 새 빈 폴더만 사용합니다.
준비할 것
- 빈 연습 폴더
C:\Users\<USER>\Documents\vscode-task-log-lab—<USER>를 실제 Windows 사용자 폴더명으로 바꿉니다. - Windows PowerShell 5.1 — Start 메뉴 또는 VS Code Terminal 프로필에서 확인합니다.
- 기존
.vscode\settings.json과tasks.json이 있다면 별도.bak사본을 만듭니다.
적용 환경 한국어 초보자 · Windows 11 · VS Code Stable 1.134.0 · Windows PowerShell 5.1
3을 반환합니다. 설치·삭제·네트워크·권한 상승·외부 전송은 없습니다. 로그에는 Task label, Workspace 경로와 Task 구성 같은 작업 맥락이 포함될 수 있습니다. 중단 조건: 업무 Workspace, dirty editor, 백업 불가, 예상하지 않은 명령 또는 민감정보가 보이면 실행·공유를 중단합니다.2. 알아둘 핵심 개념
task.verboseLogging
VS Code Task 서비스의 자세한 내부 로그를 켜는 설정입니다. 자료형은 Boolean, Stable 1.134.0 기본값은 false입니다. 명시적 Scope가 없는 Window 설정이라 User와 Workspace에서 구성할 수 있고, 이 글은 연습 폴더에만 적용되는 Workspace 범위를 사용합니다.
true는 VS Code가 verbose로 표시한 내부 이벤트를 Task 출력 채널에 추가합니다. Task 프로그램의 stdout/stderr를 더 자세하게 만드는 설정은 아닙니다.Terminal 오류와 Task 로그
Terminal은 Task가 실행한 프로그램의 출력과 종료 상태를 확인하는 곳입니다. Tasks: Show Task Log는 VS Code의 Task 출력 채널을 엽니다. 명령 실패 원문과 Task 서비스 처리 흐름을 나란히 봐야 원인 후보를 안전하게 좁힐 수 있습니다.
비밀정보 검토
로그 전체를 그대로 공개하지 않습니다. 사용자 폴더명, 내부 경로, 서버 주소, 명령 인수, 토큰·키처럼 보이는 값을 먼저 찾아 필요한 줄만 남깁니다. 외부 공유는 자동화하지 않는 Human Gate입니다.
3. 순서대로 진행하기
각 단계의 정상 결과를 확인한 뒤 다음 단계로 이동합니다.
1. 빈 연습 폴더와 백업 확인하기
목적 실제 프로젝트와 기존 설정을 보호합니다.
C:\Users\<USER>\Documents\vscode-task-log-lab를 새로 만들고 File > Open Folder...로 엽니다.
입력 위치 파일 탐색기와 VS Code Explorer
C:\Users\<USER>\Documents\vscode-task-log-lab
# <USER>를 실제 Windows 사용자 폴더명으로 치환
정상 결과 Explorer 최상단에 연습 폴더가 보이고 기존 업무 파일이 없습니다.
확인 .vscode 폴더가 없거나 기존 파일의 .bak 사본이 있는지 확인합니다.
실패 신호 업무 Workspace, 저장하지 않은 편집기, 백업 불가.
2. 의도적으로 실패하는 Task 만들기
목적 진단할 오류 원문과 종료 코드를 재현 가능하게 만듭니다.
- 연습 Workspace의
.vscode\tasks.json에 아래 내용을 저장합니다.
입력 위치 .vscode\tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Task verbose log demo",
"type": "process",
"command": "powershell.exe",
"args": [
"-NoProfile",
"-Command",
"[Console]::Error.WriteLine('DIAGNOSTIC_LAB_FAILURE: demo only'); exit 3"
],
"problemMatcher": []
}
]
}
정상 결과 configured Task가 1개이고 JSON 오류가 없습니다.
확인 label·type·command·args·problemMatcher: []을 확인합니다.
실패 신호 빨간 밑줄, Task 목록 누락, 다른 명령 실행.
3. 기준 상태에서 자세한 로그 끄기
목적 변경 전 상태를 기록하고 비교 기준을 만듭니다.
- Preferences: Open Workspace Settings (JSON)에서 아래 Boolean 값을 저장하고 Task 로그의 기존 내용을 Clear합니다.
입력 위치 .vscode\settings.json와 Task 로그 도구 모음
{
"task.verboseLogging": false
}
정상 결과 설정 오류가 없고 Workspace 값이 false입니다.
확인 문자열 "false"가 아니라 따옴표 없는 Boolean인지 확인합니다.
실패 신호 Unknown Configuration, 문자열 값, User Settings 변경.
4. 실패 원문을 Terminal에서 보존하기
목적 자세한 로그를 켜기 전에 Task 프로그램 자체 오류를 확보합니다.
Ctrl+Shift+P→ Tasks: Run Task → Task verbose log demo를 실행합니다.
입력 위치 Command Palette와 Task Terminal
DIAGNOSTIC_LAB_FAILURE: demo only
Process exit code: 3
정상 결과 Terminal에 정확한 오류 원문이 보이고 Task가 실패로 끝납니다.
확인 오류 문구와 종료 코드 3을 기록합니다.
실패 신호 성공 종료, 다른 Task label, 예상하지 않은 외부 명령.
tasks.json을 다시 확인한 뒤 이 단계에 재합류합니다.5. Workspace에서 자세한 로그 켜기
목적 Task 서비스의 verbose 내부 이벤트를 수집합니다.
- Workspace 값을
true로 바꾸고 Task 로그를 다시 Clear한 뒤 같은 Task를 한 번 더 실행합니다.
입력 위치 .vscode\settings.json와 Command Palette
{
"task.verboseLogging": true
}
정상 결과 Terminal 오류는 동일하고 Task 로그에 verbose 항목이 추가됩니다.
확인 설정이 Workspace 범위인지, 실행한 label이 같은지 확인합니다.
실패 신호 새 로그 없음, 다른 범위 값이 우선함, Task 미실행.
6. Show Task Log에서 내부 이벤트 비교하기
목적 Terminal 오류와 VS Code 내부 처리 로그를 연결합니다.
Ctrl+Shift+P→ Tasks: Show Task Log를 실행하고 최신 실행 시각 부근을 찾습니다.
입력 위치 Command Palette와 Task 출력 채널
Task Event kind: <EVENT>
# <EVENT> 값과 줄 순서는 실행 경로에 따라 달라질 수 있음
정상 결과 false 기준보다 자세한 상태 이벤트가 보이고 Terminal의 실패 시각과 대응합니다.
확인 오류 원문은 Terminal, 내부 이벤트는 Task 로그에 있다는 차이를 확인합니다.
실패 신호 오래된 실행만 보임, 다른 창의 로그, Task Event kind: 항목 없음.
true를 확인한 뒤 5단계부터 다시 실행합니다.7. 필요한 Evidence만 추려 민감정보 검토하기
목적 문제 보고에 필요한 최소 Evidence를 안전하게 준비합니다.
- 오류 원문, 종료 코드, 관련 Task 이벤트와 VS Code 버전만 로컬 메모에 옮기고 경로·사용자명·서버 주소·인수·토큰을 검토합니다.
입력 위치 로컬 텍스트 편집기. 외부 전송은 하지 않습니다.
VS Code: 1.134.0
Task: Task verbose log demo
Terminal: DIAGNOSTIC_LAB_FAILURE: demo only
Exit: 3
Task log: Task Event kind: <EVENT>
Reviewed: paths / usernames / arguments / tokens
정상 결과 재현에 필요한 줄만 남고 민감정보 후보가 제거되거나 대체 표시됩니다.
확인 원본 로그와 대조해 의미를 바꾸지 않았는지 확인합니다.
실패 신호 전체 로그 무검토 복사, 토큰·개인 경로 노출, 원문 의미 훼손.
8. Task 복구와 설정 Rollback 확인하기
목적 진단이 끝난 뒤 성공 상태와 기본 로그 정책으로 돌아갑니다.
- Task를 아래 성공 예제로 바꿔 실행한 뒤
task.verboseLoggingKey를 제거하거나false로 되돌립니다.
입력 위치 .vscode\tasks.json, .vscode\settings.json, Task Terminal
{
"version": "2.0.0",
"tasks": [
{
"label": "Task verbose log demo",
"type": "process",
"command": "powershell.exe",
"args": [
"-NoProfile",
"-Command",
"[Console]::Out.WriteLine('DIAGNOSTIC_LAB_OK'); exit 0"
],
"problemMatcher": []
}
]
}
정상 결과DIAGNOSTIC_LAB_OK, 종료 코드0, Workspace의true제거를 모두 확인합니다.
확인 Terminal 성공 출력과 @modified task.verboseLogging의 Workspace 상태를 교차 확인합니다.
실패 신호 종료 코드 3 지속, 설정 true 잔존, 기존 파일 손실.
.bak을 복원하고 실패 원문을 보존한 뒤 2단계 또는 3단계에 재합류합니다.4. 완료 확인하기
입력 화면과 독립된 방법을 포함해 결과를 교차 확인합니다.
- Stable 소스의 Key·Boolean·기본값
false— 설정 계약 일치. - Task Terminal의
DIAGNOSTIC_LAB_FAILURE: demo only와 종료 코드 3 — 실패 원문 보존. - Tasks: Show Task Log의
Task Event kind:항목 — verbose 내부 이벤트 확인. - 최소 진단 메모의 경로·사용자명·Task 인수·토큰 검토 — 외부 공유 전 Human Gate 통과.
- 복구 Task의
DIAGNOSTIC_LAB_OK와 종료 코드 0 — 정상 경로 확인. - Workspace Key 없음 또는
false— Rollback 확인.
완료 기준 실패 원문과 Task 내부 이벤트를 구분해 확인하고, 민감정보를 검토한 최소 Evidence를 만든 뒤 Task 성공과 설정 Rollback까지 재검증했습니다.
5. 문제가 생겼다면
Show Task Log가 열리지 않는다
먼저 확인 Workspace가 Restricted Mode인지, Command Palette에서 정확한 명령을 선택했는지 확인합니다.
복구 신뢰 여부를 사람이 판단하고 **Tasks: Show Task Log**를 다시 실행합니다.
재합류 6단계에서 최신 실행을 찾습니다.
로그가 비어 있거나 verbose 항목이 없다
먼저 확인 Workspace 값 true, 설정 저장, 같은 VS Code 창인지 확인합니다.
복구 Task 로그를 Clear하고 필요하면 **Developer: Reload Window** 후 같은 Task를 한 번만 실행합니다.
재합류 5단계부터 다시 진행합니다.
Terminal 오류만 보인다
먼저 확인 Terminal과 Task 로그가 서로 다른 Evidence임을 확인합니다.
복구 Terminal을 닫지 말고 **Tasks: Show Task Log**를 별도로 실행합니다.
재합류 6단계에서 시각과 label을 대조합니다.
오래된 이벤트가 섞인다
먼저 확인 실행 시각과 Task label이 현재 실습과 같은지 봅니다.
복구 Task 로그를 지운 뒤 한 번만 재현하고 즉시 다시 엽니다.
재합류 6단계에서 최신 줄만 선택합니다.
로그에 민감정보가 보인다
먼저 확인 사용자명·경로·서버 주소·인수·토큰 후보를 표시합니다.
복구 공유를 중단하고 원본은 로컬에 보존한 채 새 사본에서 값만 가립니다.
재합류 7단계에서 의미가 유지되는지 다시 검토합니다.
UNKNOWN으로 중단합니다.6. 핵심 정리와 공식 자료
- FACT
task.verboseLogging은 Boolean이며 Stable 1.134.0 기본값은false입니다. - FACT Stable 구현은 verbose로 표시된 Task 서비스 메시지를 설정이 켜졌을 때만 Task 출력 채널에 추가합니다.
- FACT Tasks: Show Task Log는 Task 출력 채널을 사용자 요청으로 엽니다.
- PROCEDURE 동일한 실패 Task를
false와true에서 실행하고 Terminal 오류와 내부 이벤트를 비교합니다. - RECOMMENDATION 진단 구간에서만 자세한 로그를 켜고, 공유 전 필요한 최소 줄의 민감정보를 검토합니다.
- UNCONFIRMED
Task Event kind:뒤의 값과 줄 순서는 구현·실행 경로에 따라 달라질 수 있습니다.
공식 자료
아래 자료는 2026-08-26 Asia/Seoul에 확인했습니다. Stable 고정 commit 소스는 1.134.0 동작을 설명하며 이후 버전에서는 UI와 구현이 달라질 수 있습니다.
- VS Code Stable Update API · Microsoft
- VS Code 1.134 Release Notes · Microsoft
- Integrate with External Tools via Tasks · Microsoft
- Task verbose setting and Show Task Log command at Stable commit · Microsoft
- Task verbose gate and output channel implementation at Stable commit · Microsoft
- Configuration scope registry at Stable commit · Microsoft
task.reconnection의 Boolean 기본값 true, problem matcher가 있는 실행 중 Task, Developer: Reload Window, 재연결 확인과 Rollback을 다룹니다.'개발 > Visual Studio Code' 카테고리의 다른 글
| 커맨드 팔레트 29부: VS Code Task의 Problem Matcher 질문을 유형별로 끄기 (0) | 2026.08.28 |
|---|---|
| 커맨드 팔레트 28부: VS Code 창 Reload 뒤 실행 중 Task에 다시 연결하기 (0) | 2026.08.27 |
| 커맨드 팔레트 26부: VS Code Task 완료 알림이 뜨는 실행 시간 정하기 (0) | 2026.08.25 |
| 커맨드 팔레트 25부: VS Code Task 실행 전에 편집 파일 저장 여부 정하기 (0) | 2026.08.24 |
| 커맨드 팔레트 24부: VS Code Task를 공급자 그룹 없이 한 목록에서 찾기 (0) | 2026.08.23 |