Simplify logging configuration

18 views
Skip to first unread message

Sergey Ponomarev

unread,
Oct 1, 2024, 3:27:06 PM10/1/24
to prosody-dev

Almost all Linux dists switched to use syslog and systemd-journald instead of logging to a file.

Debian has a patch that adds syslog but keeps the log files with additional specifying a full path to them:

Without the full path with just the "prosody.log" the file will be created in /var/lib/prosody/ which is not what is expected by most users.

The Arch disables the file loggers and enables only the syslog:

I generally don't think that splitting logs is a good idea so I removed the sink * from syslog.
But I kept it for the console logger with an idea that someone may want to just uncomment it temporally while keeping the other loggers intact.

So please apply the patch:

# HG changeset patch
# User Sergey Ponomarev <sto...@gmail.com>
# Date 1727810057 -10800
#      Tue Oct 01 22:14:17 2024 +0300
# Branch prosody_cfg
# Node ID 269037ed161da735104935b1f962274ee2e0637e
# Parent  365212120b822f797716077b20a06c071632904c
prosody.cfg.lua.dist: simplify logging

Log to syslog by default without a sink.
Comment out file loggers.
Specify a full path to /var/log/prosody/prosody.log.

diff -r 365212120b82 -r 269037ed161d prosody.cfg.lua.dist
--- a/prosody.cfg.lua.dist Sat Sep 28 12:38:42 2024 -0700
+++ b/prosody.cfg.lua.dist Tue Oct 01 22:14:17 2024 +0300
@@ -181,11 +181,11 @@
 
 
 -- Logging configuration
+-- Change 'info' to 'debug' for verbose logging
 -- For advanced logging see https://prosody.im/doc/logging
 log = {
- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging
- error = "prosody.err";
- -- "*syslog"; -- Uncomment this for logging to syslog
+ info = "syslog"; -- Log 'info' level and higher to syslog. Read with journalctl -u prosody
+ -- info = "/var/log/prosody/prosody.log";
  -- "*console"; -- Log to the console, useful for debugging when running in the foreground
 }
 

Reply all
Reply to author
Forward
0 new messages