Description
The problem is that docker logs don't appear (and probably never have) when using exo in WSL.
I spent some time debugging this with John and my understanding of the problem is as follows:
for logging we have three components that need to communicate: the docker daemon, the exo daemon and the syslog daemon. In practice, the exo daemon and the syslog daemon always reside on the same network interface so we can think of them together as "exo".
On Linux they both run natively on the host. Simple. On MacOS exo runs natively and the docker daemon runs in a VM. In WSL the situation is reversed and the docker daemon runs on the host and exo runs in the WSL VM.
The problem appears to be that UDP packets aren't forwarded from the Windows host, where the docker daemon is running, to the WSL VM in which exo is running. I can't find any documentation about this but I can find multiple people on the internet complaining that this is a limitation of WSL[0].
I can't really see a solution that doesn't involve either swapping away from UDP or giving up on WSL support.
[0] Complaining people:
https://old.reddit.com/r/bashonubuntuonwindows/comments/klxbzv/wsl_win10_udp_data_transfer/ghdvj7z/?context=3
https://old.reddit.com/r/bashonubuntuonwindows/comments/fzauf2/win_ubuntu_wsl2_udp_recieve_issue/
MicrosoftDocs/WSL#950
microsoft/WSL#4825
https://stackoverflow.com/questions/66296434/pod-udp-hostport-not-working-in-docker-desktop