Syslog

Hi,

I'm trying to set up 3.6 SP3 to log through syslog.

I've found the following broker properties, and have set them up in the instance's "config.properties" file, and restarted the broker:

imq.log.syslog.logconsole=true

imq.log.syslog.logpid=true

imq.log.syslog.output=ALL

imq.log.syslog.facility=LOG_LOCAL0

But I get nothing sent by MQ to the local syslogd daemon.

Sys'logging is properly configured and works fine (tested with the logger command).

Is there another property to set that I've missed ?

Thanks for your help.

Regards.

--

Laurent

[701 byte] By [TiT] at [2007-11-14]
# 1
Your imq.syslog.* properties look correct. Can you send us your /etc/syslog.conf file and also please send us the exact 'logger' command you used to display your messages. In order for me to get syslog set up, I had to set new properties in the /etc/syslog.conf file Thanks.
jnakata at 2007-7-7 > top of java,Application & Integration Servers,Sun Java System Message Queue...
# 2

My /etc/syslog.conf is the initial Solaris one, with a few lines added for MQ:

#ident "@(#)syslog.conf1.598/12/14 SMI"/* SunOS 5.0 */

#

# Copyright (c) 1991-1998 by Sun Microsystems, Inc.

# All rights reserved.

#

# syslog configuration file.

#

# This file is processed by m4 so be careful to quote (`') names

# that match m4 reserved words. Also, within ifdef's, arguments

# containing commas must be quoted.

#

*.err;kern.notice;auth.notice/dev/sysmsg

*.err;kern.debug;daemon.notice;mail.crit/var/adm/messages

*.alert;kern.err;daemon.err operator

*.alertroot

*.emerg*

# if a non-loghost machine chooses to have authentication messages

# sent to the loghost machine, un-comment out the following line:

#auth.noticeifdef(`LOGHOST', /var/log/authlog, @loghost)

mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost)

#

# non-loghost machines will use the following lines to cause "user"

# log messages to be logged locally.

#

ifdef(`LOGHOST', ,

user.err/dev/sysmsg

user.err/var/adm/messages

user.alert `root, operator'

user.emerg *

)

############################################################################### #

#

# Sun Message Queue Log Management

#

# local0.debug@loghost

local0.debug/tmp/syslog.local0.log

############################################################################### #

And now, for the 'logger' command:

# logger -p local0.info -t TEST_MQ "Logging using logger command"

# tail -1 /tmp/syslog.local0.log

Aug 22 09:35:40 bmqsa TEST_MQ: [ID 702911 local0.info] Logging using logger command

Important point: if I truss the syslogd process while MQ is supposed to log (which it does in regular files, ie. /var/opt/imq/instances/<instance>/log/log.txt), I don't see anything happen (ie. syslogd does not receive any request from MQ).

This last point makes it pretty clear to me that the problem is not within syslogd or its config, but rather about the MQ framework and its logging facilities.

I am really puzzled.

Any help/hint greatly appreciated.

TiT at 2007-7-7 > top of java,Application & Integration Servers,Sun Java System Message Queue...
# 3

You've uncovered a bug for us which causes all messages in the MQ broker to log as

"daemon.*". I've filed a bug on this (bug 6462576). Apparently, setting

imq.log.syslog.facility=LOG_LOCAL0

has no effect. The messages all log as LOG_DAEMON.

So, the workaround for now is to change your syslog.conf to

daemon.debug/tmp/messages

daemon.warning /tmp/messages

daemon.info/tmp/messages

Thanks.

jnakata at 2007-7-7 > top of java,Application & Integration Servers,Sun Java System Message Queue...