Skip to content

Log files ​

Use this page to quickly locate logs and artifacts when troubleshooting or reporting a problem. It lists only paths, formats, and keywords. See the FAQ for steps to diagnose specific problems.

The main Jugg logs are stored under ~/.jugg/log/<projectName>_<pathHash>/. Because the logs are outside the project's build directory, Gradle clean does not remove the diagnostic history. When investigating compilation, deployment, Debug, MCP, or runtime problems, start with compile_latest.log in most cases.

Log paths ​

PathDescription
~/.jugg/log/<projectName>_<pathHash>/compile_latest.logBest-effort shortcut to the current main log.
~/.jugg/log/<projectName>_<pathHash>/compile_latest-1.logBest-effort shortcut to the previous main log.
~/.jugg/log/<projectName>_<pathHash>/compile_YYYY-MM-DD_HH-mm-ss.0.logActual rolling log file.
build/jugg/logBest-effort compatibility link to the real log directory.
build/jugg/mcp_fetch/<toolName>/Artifacts generated by MCP fetch tools.
build/jugg/tmp/diff/Remote compilation diff results.
Android Studio idea.logAndroid Studio's own log, used for Debug attach, IDE freeze, plugin loading, and similar problems.

The directory name combines the project root directory name with an eight-character hash of its absolute path, so projects with the same name at different paths do not share logs. The build/jugg/log compatibility link may be unavailable because of platform permissions and is removed by Gradle clean; the next Jugg Run attempts to restore it. Diagnostic tools and the MCP logPath field always use the real path and do not depend on this link.

compile_latest.log is a shortcut, not the only actual file. If it appears stale, also check the rolling logs and compile_latest-1.log.

Log format ​

text
[2026-03-16 16:13:27.109] [INFO   ] [ClassName] message
FieldDescription
TimestampMillisecond precision.
LevelRuntime level such as FINE, INFO, WARNING, or SEVERE.
ClassNameLog source label, which can usually be used as an entry point for locating the source.
messageThe specific event, duration, error, or status description.

Common search terms ​

TargetKeywords
Compilation startsJugg compile started
Incremental/full decisionpreprocessIncrementalCompile
No-file-change fallbackNo file changes, confirmFallbackWhenNoFileChanges
Fallback reasonfallback, Fallback
Compilation failureincremental compile error, SEVERE
APK DB initializationinitAfterInstall parsed apk start, database all init finish
Deployment startsdeploy start
Deployment recovery / retryrecover, retry
Debug attachJugg Debug attach:, waitForClientReadyForDebug, Connected to the target VM
Const-refConstRefEngine, full scan progress
UI freezeuiFreezeStarted, InvocationEvent has timed out
MCP log waitingwait-logs, marker, crash

MCP log results ​

wait-logs waits for a log marker, crash, or timeout and returns:

FieldDescription
stopReasonmarker, crash, or timeout.
startTime / endTimeTimes in logcat threadtime format.
targetPidsTarget process PIDs found when waiting stopped.
logsFiltered log window, up to 100 lines.
allLogsPathPath where the complete raw log is stored.
truncatedWhether the returned logs were truncated.

When tools such as layout-dump and activity-stack return file paths, the paths appear in artifacts or data and point into build/jugg/mcp_fetch/.

Troubleshooting recommendations ​

  1. Identify the exact time of the user action or error.
  2. In compile_latest.log, read a wider window before and after that time.
  3. Use the [ClassName] label to locate the relevant module.
  4. For Debug attach, IDE freeze, or plugin startup problems, also check Android Studio idea.log.
  5. For remote compilation problems, check both the full log and build/jugg/tmp/diff/.