function configSyslog(&$arrCfg) { $logPath = null; // safe default command line $args = '-S -C512'; if (isset($arrCfg['system']['syslog'])) { // configure local syslog mode if (isset($arrCfg['system']['syslog']['mode'])) { if ($arrCfg['system']['syslog']['mode'] == 'membuffer') { if (isset($arrCfg['system']['syslog']['buffer']) && !empty($arrCfg['system']['syslog']['buffer'])) { $args = "-S -C{$arrCfg['system']['syslog']['buffer']}"; } } elseif ($arrCfg['system']['syslog']['mode'] == 'disk' && ($logPath = getSvcState($arrCfg, 'systemlog')) == !false) { $args = "-S -s 1024 -b 5 -O {$logPath}/messages"; } } // configure remote logging if (isset($arrCfg['system']['syslog']['remotehost']) && !empty($arrCfg['system']['syslog']['remotehost'])) { $args .= " -R {$arrCfg['system']['syslog']['remotehost']}"; if (isset($arrCfg['system']['syslog']['remoteport']) && !empty($arrCfg['system']['syslog']['remoteport'])) { $args .= ":{$arrCfg['system']['syslog']['remoteport']}"; } // anyway... keep local logging $args .= ' -L'; } } $saveOld = false; getProcessCmdline('syslogd'); if ($oldArgs !== false) { if ($oldArgs === $args) { // nothing to do return false; } if (strpos($oldArgs, '-C') !== false) { $saveOld = true; } } return array('args' => $args, 'saveOld' => $saveOld, 'logPath' => $logPath); }
$cfgPtr['remoteport'] = $form->getTextFld('remoteport'); } // save configuration $retval = 0; write_config(); if (!file_exists($d_sysrebootreqd_path)) { config_lock(); $retval |= restartSyslog($config); config_unlock(); } $savemsg = get_std_save_message($retval); } } else { // prepare the configuration form $form->startFieldSet('fset_local', _('Local log')); if (($logPath = getSvcState($config, 'systemlog')) == !false) { $form->startBlock('rw_localmode'); $form->setLabel(null, _('Mode'), 'mode', 'class=labelcol'); $form->startBlock('rw_localmode', 'right'); $form->setField('mode', 'select', 'name=mode'); // $modeOptions = array('membuffer' => _('Shared memory circular buffer'), 'disk' => _('Disk') . " ({$logPath}/messages)"); $form->setSelectOptFill('mode', $modeOptions); $form->setFieldOptionsState('mode', $cfgPtr['mode'], 'membuffer'); $form->setBlockHint('hint-syslogmode', _('Choose where log application writes the log messages it receives.') . '<br>' . _('Messages written to shared memory will not survive across reboots.')); // $form->exitBlock(); } $form->startBlock('rw_buffer'); $form->setLabel(null, _('Buffer size'), 'buffer', 'class=labelcol'); $form->startBlock('rw_buffer', 'right');
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ require 'guiconfig.inc'; require_once 'services.lib.php'; require_once 'libs-php/uiutils.lib.php'; define('INCLUDE_TABSFILES', true); $log_get_cmd = 'dmesg'; $logHeader = _('Kernel log entries'); if (isset($_GET) && !empty($_GET['show'])) { $sysLogReadCmd = 'logread'; $sysLogPath = getSvcState($config, 'systemlog'); if ($sysLogPath !== false && isset($config['system']['syslog']['mode']) && $config['system']['syslog']['mode'] == 'disk') { $sysLogFile = 'messages'; // TODO: rotated logs, saved buffer... $sysLogReadCmd = "cat {$sysLogPath}/{$sysLogFile}"; } switch ($_GET['show']) { case 'syslog': $log_get_cmd = $sysLogReadCmd . '|grep -v "asterisk\\["'; $logHeader = _('System log entries'); break; case 'asterisk': $log_get_cmd = $sysLogReadCmd . '|grep "asterisk\\["'; $logHeader = _('Asterisk pbx log entries'); break; case 'cdr':