On Wed, 5 Oct 2011, Lu, Victor  wrote:

Hi there,

One of the requirement we got is to migrate the log facilities and files in 
syslog.conf  to rsyslog,conf without any change.  But I found the following 
ifdef statements are not recognized by rsyslogd. It always comes back with 
syntax error.

# if a non-loghost machine chooses to have authentication messages
# sent to the loghost machine, un-comment out the following line:
#auth.notice                    ifdef(`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                                      *
)

Is there a way to convert them in rsyslog understandable language?

what you are asking for is for rsyslog to look at an environment variable from within the config file. As far as I know there is no way to do this.

What I would do is to create two versions of your config file (one if you are a loghost and one if you are not) and then have some external config management tool use the appropriate config.

out of curiosity, what syslog daemon were you using before? I did not know of any that would allow you to do this sort of thing.

David Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to