public function processRequest()
 {
     $request = $this->getRequest();
     $user = $request->getUser();
     $log = id(new PhabricatorDaemonLog())->load($this->id);
     if (!$log) {
         return new Aphront404Response();
     }
     $events = id(new PhabricatorDaemonLogEvent())->loadAllWhere('logID = %d ORDER BY id DESC LIMIT 1000', $log->getID());
     $content = array();
     $argv = $log->getArgv();
     $argv = implode("\n", $argv);
     $form = id(new AphrontFormView())->setUser($user)->appendChild(id(new AphrontFormStaticControl())->setLabel('Daemon')->setValue($log->getDaemon()))->appendChild(id(new AphrontFormStaticControl())->setLabel('Host')->setValue($log->getHost()))->appendChild(id(new AphrontFormStaticControl())->setLabel('PID')->setValue($log->getPID()))->appendChild(id(new AphrontFormStaticControl())->setLabel('Started')->setValue(phabricator_datetime($log->getDateCreated(), $user)))->appendChild(id(new AphrontFormTextAreaControl())->setLabel('Argv')->setValue($argv));
     $panel = new AphrontPanelView();
     $panel->setHeader('Daemon Details');
     $panel->setWidth(AphrontPanelView::WIDTH_FORM);
     $panel->appendChild($form);
     $content[] = $panel;
     $event_view = new PhabricatorDaemonLogEventsView();
     $event_view->setUser($user);
     $event_view->setEvents($events);
     $log_panel = new AphrontPanelView();
     $log_panel->setHeader('Daemon Logs');
     $log_panel->appendChild($event_view);
     $content[] = $log_panel;
     return $this->buildStandardPageResponse($content, array('title' => 'Daemon Log'));
 }
 public function processRequest()
 {
     $request = $this->getRequest();
     $pager = new AphrontPagerView();
     $pager->setOffset($request->getInt('page'));
     $pager->setPageSize(1000);
     $events = id(new PhabricatorDaemonLogEvent())->loadAllWhere('1 = 1 ORDER BY id DESC LIMIT %d, %d', $pager->getOffset(), $pager->getPageSize() + 1);
     $events = $pager->sliceResults($events);
     $pager->setURI($request->getRequestURI(), 'page');
     $event_view = new PhabricatorDaemonLogEventsView();
     $event_view->setEvents($events);
     $event_view->setUser($request->getUser());
     $event_view->setCombinedLog(true);
     $log_panel = new AphrontPanelView();
     $log_panel->setHeader('Combined Daemon Logs');
     $log_panel->appendChild($event_view);
     $log_panel->appendChild($pager);
     return $this->buildStandardPageResponse($log_panel, array('title' => 'Combined Daemon Log'));
 }