ShibSP & remote syslog

Alex Mihičinac alexm at arnes.si
Thu Nov 8 07:08:06 EST 2012


Hi all,

On 29. okt. 2012, at 14:32, "Cantor, Scott" <cantor.2 at osu.edu> wrote:

>> This is logger part from my syslog.logger and shibd.logger:
>> log4j.appender.MySyslog=SyslogAppender
> 
> syslog.logger does nothing if you don't specify it as the logging configuration to use.
> 
> And if you change the appender name and don't bother updating the rest of the shibd.logger config, then nothing changes.
> 
> I would suggest taking a look at log4j property config. It's mostly the same. 

I did some more testing and found out some interesting stuff.

If new rootCategory is added like this:

log4j.rootCategory=INFO, shibd_log, warn_log, MySyslog

and defined new log4j appender like this: 

log4j.appender.MySyslog=org.apache.log4j.SyslogAppender

logger configuration gets broken. According to sources: PropertyConfiguratorImpl.cpp and RemoteSyslogAppender.cpp/SyslogAppender.cpp it should take default values and work out of the box.
Besides that, all appenders defined after SyslogAppender stop working to. 

Example (shibd_log appender is not working if defined after MySyslog appender, but it works if defined before MySyslog appender. warn_log appender works in both cases):
----------------------
log4j.rootCategory=INFO, shibd_log, warn_log, shibdf_log

log4j.appender.warn_log=org.apache.log4j.RollingFileAppender
log4j.appender.warn_log.fileName=/var/log/shibboleth/shibd_warn.log
log4j.appender.warn_log.maxFileSize=1000000
log4j.appender.warn_log.maxBackupIndex=10
log4j.appender.warn_log.layout=org.apache.log4j.PatternLayout
log4j.appender.warn_log.layout.ConversionPattern=%d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n
log4j.appender.warn_log.threshold=WARN

log4j.appender.MySyslog=org.apache.log4j.SyslogAppender

log4j.appender.shibd_log=org.apache.log4j.RollingFileAppender
log4j.appender.shibd_log.fileName=/var/log/shibboleth/shibd.log
log4j.appender.shibd_log.maxFileSize=1000000
log4j.appender.shibd_log.maxBackupIndex=10
log4j.appender.shibd_log.layout=org.apache.log4j.PatternLayout
log4j.appender.shibd_log.layout.ConversionPattern=%d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n
----------------------

Can someone explain that behavior?

P.S. It is the same situation if MySyslog appender is defined like this:

log4j.appender.MySyslog=org.apache.log4j.SyslogAppender
log4j.appender.MySyslog.syslogHost=localhost
log4j.appender.MySyslog.facility=local6
log4j.appender.MySyslog.portNumber=514
log4j.appender.MySyslog.layout=org.apache.log4j.PatternLayout
log4j.appender.MySyslog.layout.ConversionPattern=%d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n

Best regards,

Alex


More information about the users mailing list