feat(gui-client): configure IPC service to log to stdout#8219
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
cc @oddlama |
|
Tested in Linux VM, works as intended. |
f0353fe to
8d4443a
Compare
jamilbk
left a comment
There was a problem hiding this comment.
Does this log to journald and log file still? If not, probably want to update /kb/client-apps/linux-gui-client and /kb/administer/logs docs.
Logs to stdout in addition now. I can update the docs to reflect that. |
|
It would be nice to remove the logging to a file but then we'd have to integrate with journald for the log export. Honestly, that might actually be easier than writing the logs ourselves to a file and zip that. |
jamilbk
left a comment
There was a problem hiding this comment.
How we do it for Android & Apple is log to file and then also the platform idiomatic log sink, so this seems like a step closer to that.
I think the Windows event viewer is a common sink too
On Linux, logs sent to stdout from a systemd-service are automatically captured by
journald. This is where most admins expect logs to be and frankly, doing any kind of debugging of Firezone is much easier if you can dojournalctl -efu firezone-client-ipc.servicein a terminal and check what the IPC service is doing.On Windows, stdout from a service is (unfortunately) ignored.
To achieve this and also allow dynamically changing the log-filter, I had to introduce a (long-overdue) abstraction over tracing's "reload" layer that allows us to combine multiple reload-handles into one. Unfortunately, neither the
reload::Layernor thereload::HandleimplementClone, which makes this unnecessarily difficult.Related: #8173