Starting with recent Liferay DXP releases (such as 2026.Q3), the Control Panel > Security > Server Logs UI provides a convenient way for administrators to view and download standard root Liferay log files (liferay.<date>.log) directly from the browser.
Control Panel:
Server Logs Home:
Server Logs:
However, in complex enterprise deployments, custom OSGi modules, REST services (e.g., ModuleA, payment gateways, external ERP integrations), and business-unit-specific features are frequently configured via Log4j2 (*-log4j-ext.xml) to write to dedicated subdirectories under ${liferay.home}/logs/ (such as /logs/moduleA/, /logs/integrations/, or /logs/common/) to keep high-volume or sensitive logs isolated from the main root log.
Currently, the OOTB Server Logs portlet only scans and renders the default root Liferay logs. It does not detect or display log files stored inside custom subdirectories. As a result, developers and L1/L2 support teams cannot view or download module-specific logs through the Control Panel UI and must request direct OS/SSH file-system access or rely on external log aggregation tools just to troubleshoot isolated module issues.
What is your project about? (e.g. Intranet, Partner Portal, Enterprise Website, etc) Enterprise DXP Platform & Custom Microservices/REST Integrations (featuring dedicated REST modules, multi-departmental services, and headless API integrations running on Liferay DXP)
What is your proposed solution? (optional)
Enhance the Control Panel > Security > Server Logs UI to dynamically discover and support log subdirectories within ${liferay.home}/logs/:
-
Log Source / Directory Dropdown Selector: Add a dropdown filter at the top of the Server Logs view. By default, it should display Liferay (Root) alongside any detected subdirectories under
${liferay.home}/logs/(e.g.,Module/Project A,Module/Project B,Integrations,Common). -
Smart Directory Exclusion: Automatically exclude internal system/instance folders such as the
companiesdirectory (or make excluded folder names configurable via System Settings > Logging) so only relevant application log folders populate the dropdown. -
Consistent Viewing & Downloading: Once a subdirectory is selected from the dropdown, the UI should list all date-stamped log files within that folder, displaying file sizes and supporting both the inline live log viewer and direct file download—matching the exact behavior currently available for standard Liferay root logs
Working Proof of Concept (PoC) & Reference Implementation: I have already built and verified this capability locally on Liferay DXP 2026.Q3 as a standalone OSGi module extension (server-logs-web) that dynamically scans ${liferay.home}/logs subdirectories (excluding companies) and renders the dropdown switcher seamlessly in the Control Panel.
-
GitHub Repository / Source Code: LiferayDXPTools/modules/server-logs-web at main · chauhan77himanshu55/LiferayDXPTools · GitHub
-
Attached Screenshots: See attached images comparing the OOTB behavior vs. the working custom module with the subdirectory dropdown selector, filtered log listings, and inline log viewer/download functionality in action.




