Syslog logging broken

My Nextcloud instance loggs to syslog and everything worked fine. I upgraded my server from Debian Wheezy to Jessie now (upgrade to Stretch will be the next step …). After the upgrade my logfile remains empty.

Debian 8.0/Raspbian GNU/Linux 8
Apache/2.4.10 (Raspbian)
PHP 5.6.33-0+deb8u1

status.php:
{“installed”:true,“maintenance”:false,“needsDbUpgrade”:false,“version”:“13.0.1.1”,“versionstring”:“13.0.1”,“edition”:"",“productname”:“Nextcloud”}

config.php:

<?php
$CONFIG = array (
  'instanceid' => 'myinstance',
  'passwordsalt' => 'mysalt',
  'datadirectory' => '/media/ssd/owncloud',
  'dbtype' => 'mysql',
  'version' => '13.0.1.1',
  'dbname' => 'owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_owncloud',
  'dbpassword' => 'mydbpassword',
  'installed' => true,
  'ldapIgnoreNamingRules' => false,
  'maintenance' => false,
  'loglevel' => 2,
  'logdateformat' => 'F d, Y H:i:s',
  'logtimezone' => 'Europe/Berlin',
  'log_type' => 'syslog',
  'syslog_tag' => 'ownCloud',
  'mail_smtpmode' => 'php',
  'mail_smtphost' => 'localhost',
  'mail_smtpdebug' => true,
  'log_authfailip' => true,
  'trashbin_retention_obligation' => '1,7',
  'versions_retention_obligation' => '1,7',
  'check_for_working_webdav' => true,
  'check_for_working_htaccess' => true,
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'trusted_domains' => 
  array (
    0 => 'mytrusteddomain1',
    1 => 'mytrusteddomain2',
    2 => 'mytrusteddomain3',
    3 => 'mytrusteddomain4',
    4 => 'mytrusteddomain5',
  ),
  'secret' => 'mysecret',
  'overwrite.cli.url' => '/nextcloud',
  'mail_from_address' => 'nextcloud',
  'mail_domain' => 'nextcloud.mydomain.de',
  'enable_previews' => true,
  'updater.release.channel' => 'stable',
  'updatechecker' => true,
  'updater.server.url' => 'https://updates.nextcloud.com/updater_server/',
);

Remark: Naming of database name, user, prefix is historical …

I am logging via syslog-ng.

filter f_owncloud {
	program("^ownCloud$");
};
destination d_owncloud {
        file("/var/log/owncloud/owncloud.log");
 };
log {
       source(s_src);
       filter(f_owncloud);
       destination(d_owncloud);
       flags(final);
 };

Even if I remove filter(f_owncloud) I cannot find any logfile with Nextcloud entries. Any hints for me?

Thank you!

Best regards,

Franz

It cost me hours to find it. But finally, I solved the problem. It was not Nextcloud, but syslog-ng and the change to systemd.
I don’t understand it completely, but systemd sends logs to a different stream. So I had to modifiy the syslog-ng.service file:

nano /lib/systemd/system/syslog-ng.service
#Sockets=syslog.socket
Sockets=syslog.dgram

In /etc/syslog-ng/syslog-ng.conf add:

source s_dgram {
 unix-dgram("/dev/log");
};

Create a new file:

nano /etc/syslog-ng/conf.d/nextcloud.conf
filter f_nextcloud {
        program("^ownCloud$");  # regex has to match the syslog_tag in config.php
};
destination d_nextcloud {
        file("/var/log/nextcloud/nextcloud.log");  # don't forget to configure logrotate for this file
 };
log {
       source(s_dgram);
       filter(f_nextcloud);
       destination(d_nextcloud);
       flags(final);
 };

Reload modified service file and restart service:

systemctl daemon-reload
systemctl restart syslog-ng
systemctl status syslog-ng

Once again. My solution is not a good one :frowning_face: Some system logs (auth.log for example) did not work any more. I decided to start syslog-ng with default service file via sysvinit, not via systemd:

sudo mv /lib/systemd/system/syslog-ng.service /lib/systemd/system/syslog-ng.service.bak
sudo systemctl daemon-reload
sudo /etc/init.d/syslog-ng start

In my owncloud.cfg I configured source(s_src), in syslog-ng.conf I deleted source(s_dgram).