logs - add the possibility to override slowlog and errors.log in pool configuration

This commit is contained in:
Ludovic Cartier
2025-10-10 15:21:40 +02:00
parent 140610f8ee
commit ed80433813
3 changed files with 59 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
---
- name: php | create php log directories for pools
file:
path: "/var/log/php/{{ item.0.name }}/{{ item.1.version }}"
path: "/var/log/php/{{ item.1.version }}/{{ item.0.name }}"
state: directory
owner: "{{ item.0.user | default('www-data') }}"
group: "{{ item.0.group | default('www-data') }}"
@@ -23,6 +23,56 @@
notify:
- restart php-fpm services
- name: php | ensure custom slowlog directory exists (if overridden)
file:
path: "{{ (item.0.slowlog_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-slow.log')) | dirname }}"
state: directory
owner: "{{ item.0.user | default('www-data') }}"
group: "{{ item.0.group | default('www-data') }}"
mode: '0755'
recurse: yes
loop: "{{ php_pools | subelements('php_versions') }}"
when:
- php_pools is defined and php_pools | length > 0
- item.0.slowlog_path is not sameas(false)
- name: php | ensure custom error_log directory exists (if overridden)
file:
path: "{{ (item.0.error_log_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-errors.log')) | dirname }}"
state: directory
owner: "{{ item.0.user | default('www-data') }}"
group: "{{ item.0.group | default('www-data') }}"
mode: '0755'
recurse: yes
loop: "{{ php_pools | subelements('php_versions') }}"
when:
- php_pools is defined and php_pools | length > 0
- item.0.error_log_path is not sameas(false)
- name: php | ensure error_log file exists with proper ownership
file:
path: "{{ item.0.error_log_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-errors.log') }}"
state: touch
owner: "{{ item.0.user | default('www-data') }}"
group: "{{ item.0.group | default('www-data') }}"
mode: '0640'
loop: "{{ php_pools | subelements('php_versions') }}"
when:
- php_pools is defined and php_pools | length > 0
- item.0.error_log_path is not sameas(false)
- name: php | ensure slowlog file exists with proper ownership
file:
path: "{{ item.0.slowlog_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-slow.log') }}"
state: touch
owner: "{{ item.0.user | default('www-data') }}"
group: "{{ item.0.group | default('www-data') }}"
mode: '0640'
loop: "{{ php_pools | subelements('php_versions') }}"
when:
- php_pools is defined and php_pools | length > 0
- item.0.slowlog_path is not sameas(false)
- name: php | remove default www pool if requested
file:
path: "/etc/php/{{ item.version }}/fpm/pool.d/www.conf"

View File

@@ -13,6 +13,8 @@ notifempty
sharedscripts
su root adm
/var/log/php/*/*-slow.log
/var/log/php/*/*-errors.log
/var/log/php/*/*/php-slow.log
/var/log/php/*/*/php-errors.log
{

View File

@@ -21,8 +21,10 @@ pm.status_path = /status
ping.path = /ping
ping.response = pong
{% if item.0.slowlog_path is not sameas(false) %}
request_slowlog_timeout = {{ item.0.request_slowlog_timeout | default('30s') }}
slowlog = /var/log/php/{{ item.0.name }}/{{ item.1.version }}/php-slow.log
slowlog = {{ item.0.slowlog_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-slow.log') }}
{% endif %}
request_terminate_timeout = {{ item.0.request_terminate_timeout | default('60s') }}
rlimit_files = {{ item.0.rlimit_files | default(65536) }}
@@ -33,7 +35,9 @@ security.limit_extensions = .php
;; PHP FLAGS and VALUES
php_admin_flag[display_errors] = {{ item.0.admin_flag_display_errors | default('Off') }}
php_admin_flag[log_errors] = {{ item.0.admin_flag_log_errors | default('On') }}
php_admin_value[error_log] = /var/log/php/{{ item.0.name }}/{{ item.1.version }}/php-errors.log
{% if item.0.error_log_path is not sameas(false) %}
php_admin_value[error_log] = {{ item.0.error_log_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-errors.log') }}
{% endif %}
php_admin_value[error_reporting] = {{ item.0.admin_value_error_reporting | default('E_ALL & ~E_NOTICE') }}
php_admin_value[memory_limit] = {{ item.0.admin_value_memory_limit | default('64M') }}
php_admin_value[upload_max_filesize] = {{ item.0.admin_value_upload_max_filesize | default('16M') }}