Skip to content

Commit

Permalink
Show logs to the console in 'phd debug'
Browse files Browse the repository at this point in the history
Summary:
Currently we send logs to the logfile in 'phd debug', but we should send them to
the console instead.

Also fixed some %C stuff which could theoretically cause problems if a user had
percentage symbols in their paths (heaven forbid).

fratrik, this or D535 might have been involved in frustrating your efforts to
debug the "sudo" stuff.

Test Plan:
Ran "phd debug irc derpderp" and "phd launch irc derpderp". In the former case,
the exception appeared in the console. In the latter, it appeared in the log.

Reviewed By: codeblock
Reviewers: codeblock, jungejason, tuomaspelkonen, aran, fratrik
CC: aran, codeblock
Differential Revision: 536
  • Loading branch information
epriestley committed Jun 27, 2011
1 parent 451b0e0 commit b61e325
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 10 deletions.
18 changes: 14 additions & 4 deletions scripts/daemon/phabricator_daemon_launcher.php
Expand Up @@ -163,7 +163,15 @@
$daemon = reset($match);
}

will_launch($control);
$with_logs = true;
if ($is_debug) {
// In debug mode, we emit errors straight to stdout, so nothing useful
// will show up in the logs. Don't echo the message about stuff showing
// up in them, since it would be confusing.
$with_logs = false;
}

will_launch($control, $with_logs);

if ($is_debug) {
echo "Launching {$daemon} in debug mode (nondaemonized)...\n";
Expand Down Expand Up @@ -217,10 +225,12 @@ function phd_load_tracked_repositories() {
return $repositories;
}

function will_launch($control) {
function will_launch($control, $with_logs = true) {
echo "Staging launch...\n";
$control->pingConduit();
$log_dir = $control->getControlDirectory('log').'/daemons.log';
echo "NOTE: Logs will appear in '{$log_dir}'.\n\n";
if ($with_logs) {
$log_dir = $control->getControlDirectory('log').'/daemons.log';
echo "NOTE: Logs will appear in '{$log_dir}'.\n\n";
}
}

19 changes: 13 additions & 6 deletions src/infrastructure/daemon/control/PhabricatorDaemonControl.php
Expand Up @@ -216,17 +216,24 @@ public function launchDaemon($daemon, array $argv, $debug = false) {
"./launch_daemon.php ".
"%s ".
"--load-phutil-library=%s ".
implode(' ', $extra_libraries)." ".
"%C ".
"--conduit-uri=%s ".
"--phd=%s ".
"--log=%s ".
($debug ? '--trace ' : '--daemonize ').
implode(' ', $argv),
($debug ? '--trace ' : '--daemonize '),
$daemon,
phutil_get_library_root('phabricator'),
implode(' ', $extra_libraries),
PhabricatorEnv::getURI('/api/'),
$pid_dir,
$log_dir);
$pid_dir);

if (!$debug) {
// If we're running "phd debug", send output straight to the console
// instead of to a logfile.
$command = csprintf("%C --log=%s", $command, $log_dir);
}

// Append the daemon's argv.
$command = csprintf("%C %C", $command, implode(' ', $argv));

if ($debug) {
// Don't terminate when the user sends ^C; it will be sent to the
Expand Down

0 comments on commit b61e325

Please sign in to comment.