Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jan 2005 12:18:46 -0500
From:      Gerard Samuel <fbsd-questions@trini0.org>
To:        freebsd-questions <freebsd-questions@freebsd.org>
Subject:   [Repost] Logging to custom file via syslog [was]: php log to own syslog file
Message-ID:  <41F52DF6.4050007@trini0.org>
In-Reply-To: <41F1400D.4040204@trini0.org>
References:  <41F136B9.20604@trini0.org> <41F13CFA.9050205@daleco.biz> <41F1400D.4040204@trini0.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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();
>>> openlog('TESTING', LOG_NDELAY, LOG_USER);
>>> 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 
> "LOG_WARNING",
> 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
/var/log/php.log
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
/var/log/messages.
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?
Thanks

/etc/syslog.conf
----
# $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
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err
/var/log/messages
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
!startslip
*.*                                             /var/log/slip.log
!ppp
*.*                                             /var/log/ppp.log

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41F52DF6.4050007>