If you want you can test the feature, but I wouldn't recommend testing it on your Pi 2. Even though its been running fine for me, there may still be issues. (Don't risk angering your family by breaking the internet).
Compilation could also be an issue, it took 2.5min and needed 1.5GB of RAM on my Pi 5
Install it locally
I am not a member of the Pi-hole team, so there are no pre-compiled binaries availible for use in pihole checkout.
You will need to compile my fork from source.
Follow the guide at Install from source - Pi-hole documentation with some modifications:
clone and checkout my branch:
git clone https://github.com/darkexplosiveqwx/pi-hole-FTL
cd pi-hole-FTL
git checkout log-json
Before compilation you need libsystemd development headers. Install libsystemd-dev on Debian or systemd-devel on Fedora.
Compile and install with: (requires sudo)
./build.sh install
verify that journald support is enabled by looking for
-- Looking for systemd/sd-journal.h
-- Looking for systemd/sd-journal.h - found
-- Building FTL with systemd journal support: YES
during compilation.
change ExecStart=/usr/bin/pihole-FTL -f inside /etc/systemd/system/pihole-FTL.service to ExecStart=/usr/bin/pihole-FTL -f --log-journal
Restart:
sudo systemctl daemon-reload && sudo systemctl restart pihole-FTL.service
Note that if you run sudo pihole updatePihole the custom binary is replaced and you need to re-do the binary install and systemd.service modification.
You can see the combined FTL, webserver and dnsmaq logs with journalctl -u pihole-FTL.service
Currently three structured fields are availible: PRIORITY colors logs and can be filtered with -p [emerg alert crit err warning notice info debug], COMPONENT shows what logfile it is part of: either "FTL", "webserver" or "dnsmasq".
If you only want to see dnsmasq logs, for example, you can filter:
journalctl -u pihole-FTL.service COMPONENT=dnsmasq
DEBUG_FLAG is available for FTL logs only and is for the various debug.* configuration options.
-o verbose shows all fields:
$ journalctl -b -u pihole-FTL.service -o verbose --since 16:00
[...]
Mon 2026-05-25 16:45:07.076139 CEST [s=65f32373262f48cf9b8ec81f55f6f53a;i=3aff98;b=fd295f4332434d5b8042d1fdb259cc73;m=53c8748e0;t=652a56cb3ec4d;x=d7d3e2cfa81ad88d]
_MACHINE_ID=9743fed77cf54650972aa91ba6f08e87
_HOSTNAME=frodo-blue
PRIORITY=6
_SYSTEMD_SLICE=system.slice
_TRANSPORT=journal
_RUNTIME_SCOPE=system
_SELINUX_CONTEXT=system_u:system_r:unconfined_service_t:s0
_EXE=/usr/bin/pihole-FTL
SYSLOG_IDENTIFIER=pihole-FTL
_UID=969
_GID=967
_COMM=pihole-FTL
_CAP_EFFECTIVE=2803401
_SYSTEMD_CGROUP=/system.slice/pihole-FTL.service
_SYSTEMD_UNIT=pihole-FTL.service
DEBUG_FLAG=DEBUG_ANY
COMPONENT=FTL
_CMDLINE=/usr/bin/pihole-FTL -f --log-journal
_BOOT_ID=fd295f4332434d5b8042d1fdb259cc73
_PID=95120
_SYSTEMD_INVOCATION_ID=747d3db881f047e4bdb741269b2fdfdb
MESSAGE=PID of FTL process: 95120
_SOURCE_REALTIME_TIMESTAMP=1779720307076139
Is there any other journald fuctionality you had in mind for this Feature Request?