Skip to content

Custom log formatting

case: we want to add CF-RAY so we know in logs if request came from CloudFlare in cpanel

<IfModule mod_log_config.c>
    SetEnvIf CF-RAY "." CF_REQUEST=1
    LogFormat "{ \"Time\":%{%s}t, \"RemoteIP\":\"%a\", \"Host\":\"%V\", \"Port\":\"%p\", \"Request\":\"%U\", \"Query\":\"%q\", \"File\":\"%f\", \"Method\":\"%m\", \"Status\":\"%s\", \"UserAgent\":\"%{User-agent}i\", \"Referer\":\"%{Referer}i\", \"Took\":\"%D\", \"Cloudflare\":\"%{CF_REQUEST}e\", \"CF-IPCountry\":\"%{CF-IPCountry}i\" }" json_with_cloudflare
    CustomLog "/etc/apache2/logs/domlogs/apache_promtail_custom_json.log" json_with_cloudflare
</IfModule>

after changes run

/usr/local/cpanel/scripts/rebuildhttpdconf
/usr/local/cpanel/scripts/restartsrv_httpd

read more

(Modify Apache Virtual Hosts with Include Files)[https://docs.cpanel.net/ea4/apache/modify-apache-virtual-hosts-with-include-files/] (Splitlogs)[https://docs.cpanel.net/knowledge-base/web-services/the-splitlogs-binary/]