Skip to main content

Detailed Compiler Logs with Stack Trace and UUIDs

Whether you're optimizing, troubleshooting, or auditing a build โ€” these logs are your go-to diagnostic tool

What It Means

Joomla Component Builder (JCB) provides granular and traceable compiler logs for every build, complete with error stack traces and unique identifiers (UUIDs). These logs are critical for debugging complex component logic, especially in large projects with many dynamic views, fields, templates, or custom code blocks. Whether you're troubleshooting a failed build or auditing output behavior, these logs offer precise insight into what the compiler is doing and where things may have gone wrong.

What Are Compiler Logs?

Each time a component is compiled in JCB, a structured log file is generated that:

  • Tracks the step-by-step build process
  • Logs information, warnings, and critical errors
  • Attaches a globally unique build UUID
  • Includes PHP stack traces for uncaught exceptions
  • Identifies the entities (views, fields, layouts, etc.) involved in failures

These logs are accessible directly from the compiler interface and are stored in the compiler history for audit and regression debugging.

Key Features

  • ๐Ÿชช UUID Tracking: Every build run is assigned a unique identifier (UUID), making it easy to track builds across systems, logs, backups, and issue reports.
  • ๐Ÿ“š Entity-Level Logging: Log entries reference the specific JCB entity (e.g., View: "Articles", Field: "Custom Category Selector") being compiled when an issue occurs.
  • ๐Ÿชœ Stack Traces: When the compiler encounters a PHP-level error or exception, it logs a complete stack trace to help pinpoint exactly where the process failed.
  • ๐Ÿ“‹ Build Phases: Logs include stages such as:
    • Model generation
    • View layout assignment
    • Controller creation
    • Language string processing
    • Custom code insertion
    • Template rendering
    • ZIP packaging
  • ๐Ÿ” Error Categorization: Errors are grouped by severity (info, warning, error, fatal), so you can distinguish minor issues from critical blockers.
  • ๐Ÿงช Round-Trip & Placeholder Tracking: Insert/replace tag mismatches or unresolved placeholders are logged as warnings or errors with specific entity references.

Use Cases

  • Debugging failed compiles in large multi-view components
  • Tracing the impact of recent changes on build behavior
  • Verifying that templates, layouts, or code blocks were compiled as expected
  • Reporting issues using UUIDs for reproducible diagnostics

Best Practices

  • Review logs after any major template, layout, or field changes.
  • Use UUIDs in bug reports or rollback references.
  • Cross-reference UUIDs with the Git or version control commit history.
  • Enable debug logging for large projects or automated CI/CD builds.

Conclusion

Detailed compiler logs with stack traces and UUIDs are foundational to JCBโ€™s robust developer experience. They give you transparency into every compile, ensure errors are traceable, and turn complex builds into repeatable, debuggable processes. Whether you're optimizing, troubleshooting, or auditing a build โ€” these logs are your go-to diagnostic tool.