Diagnose an Issue
Use this flow when the symptom is vague:
- the portal is slow
- a page fails to load
- deployments stop working
- startup does not complete
The goal is to route the problem to the right area — environment, application, portal or OSGi — quickly, with structured evidence at each step.
A note up front: ldev does not diagnose Liferay magically. logs diagnose groups exceptions with regex and applies a small set of keyword rules, doctor checks environment readiness, osgi diag wraps Gogo. They are fast convenience over things you would otherwise do by hand. The win is speed and structured output, not insight.
1. Confirm environment health
ldev status --json
ldev doctor --json
ldev doctor --runtime --portal --osgi --jsonIf Docker, ports, activation, or effective config are broken, fix that first. There is no point chasing application errors against a broken environment.
2. Group the recent errors
ldev logs diagnose --since 15m --jsonThis is the fastest way to move from raw logs to a shortlist of likely causes. Use it as a triage signal, not as a diagnosis.
3. Check API reachability
ldev portal check --jsonIf this fails, the issue is probably authentication, startup, or basic portal reachability — not page-specific behavior.
4. Inspect the affected area
If the problem is a page:
ldev portal inventory page --url /home --jsonIf the problem is site-level navigation:
ldev portal inventory sites --json
ldev portal inventory pages --site /global --jsonIf the problem is a module:
ldev osgi status com.acme.foo.web
ldev osgi diag com.acme.foo.web5. Apply the smallest fix
Examples:
ldev deploy module foo-web
ldev env restartUse deploy module before broader rebuilds. Restart only when runtime state needs to be refreshed.
If deploy output reports that only some artifacts were hot-deployed, treat it as a failed deploy and retry after fixing the reported artifact errors.
6. Verify
ldev portal check
ldev logs diagnose --since 5m --jsonVerification is complete when the user-facing symptom is gone and the original error no longer appears in a fresh diagnosis window.