# Support Custom Log Subdirectories & Category Filtering in Control Panel \> Server Logs

**URL:** <https://discuss.liferay.com/t/support-custom-log-subdirectories-category-filtering-in-control-panel-server-logs/1138>\
**Category:** Product Ideas\
**Tags:** product\
**Created:** [November 3, 2026, 1:58pm UTC](https://discuss.liferay.com/t/support-custom-log-subdirectories-category-filtering-in-control-panel-server-logs/1138 "2026-11-03T13:58:55Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Himanshu\_Chauhan](https://dub1.discourse-cdn.com/flex014/user_avatar/discuss.liferay.com/himanshu_chauhan/32/958_2.png) [@Himanshu\_Chauhan](https://discuss.liferay.com/u/Himanshu_Chauhan)\
**Post date:** [November 3, 2026, 1:58pm UTC](https://discuss.liferay.com/t/support-custom-log-subdirectories-category-filtering-in-control-panel-server-logs/1138/1 "2026-11-03T13:58:55Z")

</div>

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:

 ![image](https://europe1.discourse-cdn.com/flex014/uploads/liferay/original/1X/0f9a08e1c5ff39190e95006a0233ece4731f478b.png)  
Server Logs Home:

 ![image](https://europe1.discourse-cdn.com/flex014/uploads/liferay/original/1X/018bc6a4e7ae9f4c931bc2470ad5aa3ab1c6cfcc.png)  
Server Logs:

 ![image](https://europe1.discourse-cdn.com/flex014/uploads/liferay/original/1X/875c8a6d31406dc1e2cac4f3c2cd55400feccd0f.png)

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/`:

1. **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`).

2. **Smart Directory Exclusion:** Automatically exclude internal system/instance folders such as the `companies` directory (or make excluded folder names configurable via **System Settings \> Logging** ) so only relevant application log folders populate the dropdown.

3. **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](https://github.com/chauhan77himanshu55/LiferayDXPTools/tree/main/modules/server-logs-web)

- **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.

 ![image](https://europe1.discourse-cdn.com/flex014/uploads/liferay/original/1X/48d9e5084ab80f7f5f8c8767a6f1b070fd2b1814.png)

 ![image](https://europe1.discourse-cdn.com/flex014/uploads/liferay/original/1X/c1a76286745ba4a99527e82590997fcc298fc826.png)

---

<div class="post-metadata">

**Author:** ![ChrisHof](https://dub1.discourse-cdn.com/flex014/user_avatar/discuss.liferay.com/chrishof/32/226_2.png) [@ChrisHof](https://discuss.liferay.com/u/ChrisHof)\
**Post date:** [November 4, 2026, 11:36am UTC](https://discuss.liferay.com/t/support-custom-log-subdirectories-category-filtering-in-control-panel-server-logs/1138/2 "2026-11-04T11:36:39Z")

</div>

I’m running 2026.Q3.9 and don’t see “Server Logs”?

---

<div class="post-metadata">

**Author:** ![Himanshu\_Chauhan](https://dub1.discourse-cdn.com/flex014/user_avatar/discuss.liferay.com/himanshu_chauhan/32/958_2.png) [@Himanshu\_Chauhan](https://discuss.liferay.com/u/Himanshu_Chauhan)\
**Post date:** [November 4, 2026, 7:13pm UTC](https://discuss.liferay.com/t/support-custom-log-subdirectories-category-filtering-in-control-panel-server-logs/1138/3 "2026-11-04T19:13:30Z")

</div>

Hi Chris,

Yes! That functionality is currently gated behind a feature flag in certain DXP builds. You can enable it using either of the following methods:

Option 1: Via the UI

1. Go to Control Panel \> Configuration \> Instance Settings.
2. Navigate to the Feature Flags section and click on Developer.
3. Locate and enable LPS-170670.

Option 2: Via Portal Properties  
Alternatively, you can enable it permanently by adding the following line to your `portal-ext.properties` file: `feature.flag.LPS-170670=true`

Once enabled, the Server Logs portlet will appear under your Control Panel Security settings.

---

<div class="post-metadata">

**Author:** ![ChrisHof](https://dub1.discourse-cdn.com/flex014/user_avatar/discuss.liferay.com/chrishof/32/226_2.png) [@ChrisHof](https://discuss.liferay.com/u/ChrisHof)\
**Post date:** [November 5, 2026, 11:14am UTC](https://discuss.liferay.com/t/support-custom-log-subdirectories-category-filtering-in-control-panel-server-logs/1138/4 "2026-11-05T11:14:24Z")

</div>

I’ve never seen a “Developer” Section in Feature Flags, how did you get that? 😃

I enabled `LPS-170670` in `portal-ext.properties` and see it now though, thanks!

Another thing that should be fixed:  
The container that shows the logs shouldn’t have a `max-width`, so we don’t have to scroll left and right the whole time if the screen width is available…

---

<div class="post-metadata">

**Author:** ![Himanshu\_Chauhan](https://dub1.discourse-cdn.com/flex014/user_avatar/discuss.liferay.com/himanshu_chauhan/32/958_2.png) [@Himanshu\_Chauhan](https://discuss.liferay.com/u/Himanshu_Chauhan)\
**Post date:** [November 5, 2026, 2:21pm UTC](https://discuss.liferay.com/t/support-custom-log-subdirectories-category-filtering-in-control-panel-server-logs/1138/5 "2026-11-05T14:21:10Z")

</div>

Glad `LPS-170670` worked for you! 🙌

**1. How to get the “Developer” tab in Feature Flags:**  
By default, Liferay hides the `Developer` scope in standard bundles. You can unlock it in the UI by adding this line to your `portal-ext.properties` (and restarting):

```properties
feature.flag.ui.visible[dev]=true

```

---

<div class="post-metadata">

**Author:** ![ChrisHof](https://dub1.discourse-cdn.com/flex014/user_avatar/discuss.liferay.com/chrishof/32/226_2.png) [@ChrisHof](https://discuss.liferay.com/u/ChrisHof)\
**Post date:** [November 6, 2026, 7:10am UTC](https://discuss.liferay.com/t/support-custom-log-subdirectories-category-filtering-in-control-panel-server-logs/1138/6 "2026-11-06T07:10:50Z")

</div>

Nice, thanks!

You should write the docs, because - like most of the time - I can’t find anything on this in the docs.
