because linux/application developers think it is the best way to do,
some of which I can think of
(r)syslog provides a centralized log handling mechanisms like in case
you want to collect all your servers logs to get them
digested/analyzed in one place for better monitoring of your servers,
other reason is to have the failure file permissions and other
situations to be handled by (r)syslog rather the application suffering
to start because the log file is not there or needed permissions are
not there.
While rotating logs copytruncate is not the default rotating method
configured in logrotate. In that case you end up maintain log rotate
configuration too if you want your application to handle writing its
logs and to avoid service restart.
Am sure there are many other use cases which is worth using (r)syslog
to handle log writing.
On 11/6/15, Christian Kivalo <ml+dovecot at valo.at>
wrote:> Hi
>
> Am 06. November 2015 17:09:20 MEZ, schrieb Andreas Meyer
> <a.meyer at nimmini.de>:
>>Hello!
>>
>>I want to have dovecot log into a separate file and set
>>log_path = /var/log/dovecot instead of log_path = syslog
>>
>>Dovecot does not start if I do this. Tried to change
>>permissions and overschip of the file, no luck, ha.
>>Deleted it in the hope dovecot creates it but no.
>>
>>If I set log_path = syslog dovecot starts and I see
>>it is running as
>>
>># ps aux |grep dove
>>root 2429 0.2 0.0 3416 2568 ? Ss 16:42 0:00
>>/usr/sbin/dovecot -F
>>dovecot 2431 0.0 0.0 3100 2080 ? S 16:42 0:00
>>dovecot/anvil
>>root 2432 0.0 0.0 3228 2316 ? S 16:42 0:00
>>dovecot/log
>>root 2434 0.0 0.0 4220 3300 ? S 16:42 0:00
>>dovecot/config
>>
>>What must be done to have dovecot log into the specified file?
>>
>>Greetings
>>
>> Andreas
> Is the user dovecot is running as allowed to write to that file?
>
> You could configure your syslog daemon to write all dovecot logging to a
> different file and don't write it to standard syslog file.
>
> Regards
> Christian
>