summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/etc/inc/system.inc21
-rw-r--r--src/usr/local/www/status_pkglogs.php4
2 files changed, 20 insertions, 5 deletions
diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc
index a3627ec..8a1094d 100644
--- a/src/etc/inc/system.inc
+++ b/src/etc/inc/system.inc
@@ -912,7 +912,7 @@ function system_syslogd_start() {
$syslogconf = "";
if ($config['installedpackages']['package']) {
foreach ($config['installedpackages']['package'] as $package) {
- if ($package['logging']) {
+ if (isset($package['logging']['facilityname']) && isset($package['logging']['logfilename'])) {
array_push($separatelogfacilities, $package['logging']['facilityname']);
if (!is_file($g['varlog_path'].'/'.$package['logging']['logfilename'])) {
mwexec("{$log_create_directive} {$log_size} {$g['varlog_path']}/{$package['logging']['logfilename']}");
@@ -1097,6 +1097,22 @@ EOD;
$syslogd_extra = "-f {$g['varetc_path']}/syslog.conf {$sourceip}";
}
+ $log_sockets = array();
+ $log_sockets[] = "{$g['dhcpd_chroot_path']}/var/run/log";
+
+ if (isset($config['installedpackages']['package'])) {
+ foreach ($config['installedpackages']['package'] as $package) {
+ if (isset($package['logging']['logsocket']) && '' != $package['logging']['logsocket'] &&
+ is_dir(pathinfo($package['logging']['logsocket'], PATHINFO_DIRNAME)) && !in_array($package['logging']['logsocket'], $log_sockets)) {
+ $log_sockets[] = $package['logging']['logsocket'];
+ }
+ }
+ }
+ $syslogd_sockets = "";
+ foreach ($log_sockets as $log_socket) {
+ $syslogd_sockets .= " -l {$log_socket}";
+ }
+
if (isvalidpid("{$g['varrun_path']}/syslog.pid")) {
sigkillbypid("{$g['varrun_path']}/syslog.pid", "TERM");
usleep(100000); // syslogd often doesn't respond to a TERM quickly enough for the starting of syslogd below to be successful
@@ -1108,8 +1124,7 @@ EOD;
usleep(100000);
}
-
- $retval = mwexec_bg("/usr/sbin/syslogd -s -c -c -l {$g['dhcpd_chroot_path']}/var/run/log -P {$g['varrun_path']}/syslog.pid {$syslogd_extra}");
+ $retval = mwexec_bg("/usr/sbin/syslogd -s -c -c {$syslogd_sockets} -P {$g['varrun_path']}/syslog.pid {$syslogd_extra}");
if (platform_booting()) {
echo gettext("done.") . "\n";
diff --git a/src/usr/local/www/status_pkglogs.php b/src/usr/local/www/status_pkglogs.php
index 3f7b697..ef8d576 100644
--- a/src/usr/local/www/status_pkglogs.php
+++ b/src/usr/local/www/status_pkglogs.php
@@ -81,9 +81,9 @@ $i = 0;
$pkgwithlogging = false;
$apkg = $_GET['pkg'];
if (!$apkg) { // If we aren't looking for a specific package, locate the first package that handles logging.
- if ($config['installedpackages']['package'] <> "") {
+ if (isset($config['installedpackages']['package'])) {
foreach ($config['installedpackages']['package'] as $package) {
- if (is_array($package['logging'])) {
+ if (isset($package['logging']['logfilename']) && '' != $package['logging']['logfilename']) {
$pkgwithlogging = true;
$apkg = $package['name'];
$apkgid = $i;
OpenPOWER on IntegriCloud