I'm running a pip install of WeeWx v5.1.0 under a Devuan (daedalus)
installation on a raspberry pi 4 (Finally upgraded ! ?)
Devauan is one of the last SysV systems around so, Yes, this is an edge
case.
Trying to get the rsylog redirection working fails miserably and as it
turns out it's because %programname% under rsyslog is showing up as root.
That's because the weewx (and weewx-multi) scripts are using $LOGNAME as
the --log-label within the script. This defaults to the $USER that is
running the script getting the credit and their name is being used as the
programname by rsyslog.
The small fix required for the init scripts to log the programname field
correctly (or usefully) can be achieved by using the value of $INSTANCE
which is already available under /etc/default/weewx or weewx-multi files as
$WEEWX_INSTANCES eg:-
WEEWX_INSTANCES="weatherpi weewx"
/etc/init.d/weewx and /etc/init.d/weewx-multi need one change each...
[...]
do_start() {
INSTANCE=$1
PROCNAME=$(get_procname $INSTANCE)
PIDFILE=$WEEWX_RUNDIR/$PROCNAME.pid
CFGFILE=$WEEWX_CFGDIR/$INSTANCE.conf
DAEMON_ARGS="--daemon --log-label=$INSTANCE --pidfile=$PIDFILE $CFGFILE
[...]
That last line was originally as follows and needs the --log-label string
changing...
DAEMON_ARGS="--daemon --log-label=$LOGNAME --pidfile=$PIDFILE $CFGFILE
I tested this using /etc/init.d/weewx and/etc/init.d/weewx-multi and it now
works as expected. ie:- the following /etc/rsyslog.d/weewx.conf now works.
$template WEEWX_LOGFILE,"/var/log/weewx/%programname%.log"
if $programname startswith 'wee' then ?WEEWX_LOGFILE
:programname,startswith,"wee" stop
if $programname startswith 'wea' then ?WEEWX_LOGFILE
:programname,startswith,"wea" stop
On a related note
The timestamps used in the default Devuan rsyslog installation are
overkill. If you don't need microsecond accounting, but do need the screen
real estate they take up then tey the following...
Copy the following text to the top of rsyslog.conf (assuming no other
$ActionFileDefaultTemplate exists) . YMMV but it worked for me.(and no
wordwrap is allowed - that's two lines only)
$template TraditionalFormat,"%timegenerated% %HOSTNAME%
%syslogtag%%msg:::drop-last-lf%\n"
$ActionFileDefaultTemplate TraditionalFormat
cheers
Glenn
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/d058819f-9cd7-4671-b064-8f02da7bee41n%40googlegroups.com.