[Repost] Logging to custom file via syslog [was]: php log to own syslog file

Gerard Samuel fbsd-questions at trini0.org
Mon Jan 24 09:18:39 PST 2005

> Kevin Kinsey wrote:
>> Gerard Samuel wrote:
>>> Im trying to figure out how to setup FreeBSD 5.3 to log
>>> php events to its own log file via syslog.
>>> In /etc/syslog.conf, I added ->
>>> # php logs
>>> !httpd
>>> *.*                                             /var/log/php.log
>>> I created a empty file for the log ->
>>> gladiator# touch /var/log/php.log
>>> gladiator# ls -l /var/log/php*
>>> -rw-r--r--  1 root  wheel  0 Jan 20 16:37 /var/log/php.log
>>> Then I HUPped syslogd ->
>>> gladiator# ps aux | grep syslogd
>>> root     277  0.0  0.2  1316  908  ??  Is    4:14PM   0:00.01
>>> /usr/sbin/syslogd -s
>>> gladiator# kill -HUP 277
>>> In my php script, Im using ->
>>> define_syslog_variables();
>>> syslog(LOG_INFO, $message);
>>> closelog();
>>> But nothing is being logged to the file.
>>> Am I doing something wrong on the FreeBSD side of things??
>>> Thanks
>> PHP as an Apache module?  IANAE, but wouldn't
>> you have to change log settings in httpd.conf? 
> I dont think so.  These errors, that I want to log, are initiated by
> the php function syslog() (look at the example above).
> These messages are supposed to go to the syslogd daemon, not to 
> httpd's log file.
> In the example above, if I change the priority from "LOG_INFO" to 
> the error messages go to /var/log/messages.
> I just need it to start going to its own file.
> The ultimate goal, is that I want to have a cluster of webservers,
> logging to a central server. 

I think this is a FreeBSD problem.
Here is what I have.
1.  I removed my initial modification of /etc/syslog.conf, and added ->
user.=info                                      /var/log/php.log

According to syslog.conf man page, that should mean, any syslog events that
come is as LOG_USER, and only LOG_INFO, should be appended to
2.  I HUPped syslogd.
3.  Im using logger to try to add a message to the log file like ->
gladiator# logger -s -p user.info test
gsam: test

But unfortunately, the message "test" doesn't appear in /var/log/php.log OR
I currently have the file /var/log/php.log chmodded to 777.
Im including my syslog.conf file.
Can anyone tell me, as to why, Im unable to log these tests?

# $FreeBSD: src/etc/syslog.conf,v 1.26 2003/04/23 13:08:31 des Exp $
#       Spaces ARE valid field separators in this file. However,
#       other *nix-like systems still insist on using tabs as field
#       separators. If you are sharing this file between systems, you
#       may want to use only tabs as field separators here.
#       Consult the syslog.conf(5) manpage.
*.err;kern.debug;auth.notice;mail.crit          /dev/console
security.*                                      /var/log/security
auth.info;authpriv.info                         /var/log/auth.log
mail.info                                       /var/log/maillog
lpr.info                                        /var/log/lpd-errs
ftp.info                                        /var/log/xferlog
cron.*                                          /var/log/cron
*.=debug                                        /var/log/debug.log
*.emerg                                         *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info                                   /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
#*.*                                            /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.*                                            @loghost
# uncomment these if you're running inn
# news.crit                                     /var/log/news/news.crit
# news.err                                      /var/log/news/news.err
# news.notice                                   /var/log/news/news.notice
*.*                                             /var/log/slip.log
*.*                                             /var/log/ppp.log

user.=info                                      /var/log/php.log

More information about the freebsd-questions mailing list