On 8/20/2011 12:47 AM, Russ Allbery wrote:
Jeremy Maryott<j...@hampshire.edu>  writes:

Package: libapache2-mod-shib2
Version: 2.3.1+dfsg-5
Severity: normal

In /etc/shibboleth/native.logger, there are some Debian-specific config
lines, one of which is:

log4j.appender.native_log.facility=24

24 is not a valid facility, and causes problems with rsyslog (messages
show up with 'invld' in them).  More specifically, the logs showed up
fine on the server this package is installed on, but I ran into problems
forwarding the logs to a Debian 5 server.

Switching to a facility of 3 and restarting apache fixed this problem.

As the comment says, that's LOG_DAEMON:

# Use syslog instead, since then at least the messages will go somewhere.
# That facility is (3<<  3) or LOG_DAEMON, since log4cpp apparently
# doesn't recognize symbolic log facilities.

See /usr/include/sys/syslog.h:

#define LOG_DAEMON      (3<<3)  /* system daemons */

I tried with a facility of 3 before and it didn't work.  Could this be
different when forwarding the logs rather than logging it locally?  Or
maybe rsyslog itself is different?  I had originally tested with sysklogd,
and I seem to recall at the time I checked log4cpp's source code and this
looked like it would do the right thing.

I can try again... it's also possible that log4cpp has changed.


Although the problem with weird long lines only showed up when I was logging remotely, local rsyslog also thinks the facility is bad; it looks like it just handles it better. If I log with a template like: "%timegenerated% %PRI-text%: %syslogfacility% %syslogpriority% %HOSTNAME% %syslogtag%%msg:::drop-last-lf%\n" then %syslogfacility% becomes 'invld'.

The RFC (5424) says that "Facility values MUST be in the range of 0 to 23 inclusive," so it seems like rsyslog is correct in expecting something in that range.

Jeremy



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to