Enable logging from mojo_launcher

Initialize command line to correctly enable logging
in mojo_launcher.

BUG=None
TEST=run mojo_launcher with --vmodule="*mojo/shell/*=2" and see verbose logs.
R=davemoore@chromium.org, davemoore

Review URL: https://codereview.chromium.org/758273003
diff --git a/mojo/shell/BUILD.gn b/mojo/shell/BUILD.gn
index 22f217f..625d56e 100644
--- a/mojo/shell/BUILD.gn
+++ b/mojo/shell/BUILD.gn
@@ -23,7 +23,8 @@
   ]
 
   deps = [
-    ":lib",
+    ":init",
+    ":lib",    
     "//base",
     "//build/config/sanitizers:deps",
     "//mojo/common",
@@ -41,6 +42,7 @@
   deps = [
     ":external_application_registrar_bindings",
     ":external_application_registrar_connection",
+    ":init",
     ":in_process_dynamic_service_runner",
     "//base",
     "//build/config/sanitizers:deps",
@@ -51,6 +53,17 @@
   ]
 }
 
+source_set("init") {
+  sources = [
+    "init.cc",
+    "init.h",
+  ]
+
+  deps = [
+    "//base",
+  ]
+}
+
 source_set("in_process_dynamic_service_runner") {
   sources = [
     "dynamic_service_runner.cc",
@@ -97,8 +110,6 @@
     "filename_util.h",
     "incoming_connection_listener_posix.cc",
     "incoming_connection_listener_posix.h",
-    "init.cc",
-    "init.h",
     "mojo_url_resolver.cc",
     "mojo_url_resolver.h",
     "out_of_process_dynamic_service_runner.cc",
@@ -116,6 +127,7 @@
   deps = [
     ":app_child_process_bindings",
     ":external_application_registrar_bindings",
+    ":init",
     ":in_process_dynamic_service_runner",
     "//base",
     "//base/third_party/dynamic_annotations",
@@ -356,6 +368,7 @@
   ]
 
   deps = [
+    ":init",
     ":lib",
     "//base",
     "//mojo/application_manager",
diff --git a/mojo/shell/launcher_main.cc b/mojo/shell/launcher_main.cc
index 7c2c369..342446b 100644
--- a/mojo/shell/launcher_main.cc
+++ b/mojo/shell/launcher_main.cc
@@ -12,6 +12,7 @@
 #include "mojo/edk/embedder/simple_platform_support.h"
 #include "mojo/shell/external_application_registrar_connection.h"
 #include "mojo/shell/in_process_dynamic_service_runner.h"
+#include "mojo/shell/init.h"
 #include "url/gurl.h"
 
 namespace {
@@ -97,18 +98,22 @@
   base::AtExitManager at_exit;
   mojo::embedder::Init(scoped_ptr<mojo::embedder::PlatformSupport>(
       new mojo::embedder::SimplePlatformSupport()));
-  base::CommandLine command_line(argc, argv);
-  Launcher launcher(&command_line);
+
+  base::CommandLine::Init(argc, argv);
+  base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+  mojo::shell::InitializeLogging();
+
+  Launcher launcher(command_line);
   int result = launcher.Connect();
   if (result < 0) {
     LOG(ERROR) << "Error(" << result << ") connecting on socket "
-               << command_line.GetSwitchValueASCII(kShellPath);
+               << command_line->GetSwitchValueASCII(kShellPath);
     return MOJO_RESULT_INVALID_ARGUMENT;
   }
 
   if (!launcher.Register()) {
     LOG(ERROR) << "Error registering "
-               << command_line.GetSwitchValueASCII(kAppURL);
+               << command_line->GetSwitchValueASCII(kAppURL);
     return MOJO_RESULT_INVALID_ARGUMENT;
   }