src/Pure/Tools/build.scala
changeset 73777 52e43a93d51f
parent 73774 734d5d3fbd9d
child 73786 18d80cd51823
--- a/src/Pure/Tools/build.scala	Sun May 23 23:15:04 2021 +0200
+++ b/src/Pure/Tools/build.scala	Mon May 24 11:58:06 2021 +0200
@@ -169,7 +169,6 @@
     selection: Sessions.Selection = Sessions.Selection.empty,
     presentation: Presentation.Context = Presentation.Context.none,
     progress: Progress = new Progress,
-    log: Logger = No_Logger,
     check_unknown_files: Boolean = false,
     build_heap: Boolean = false,
     clean_build: Boolean = false,
@@ -293,6 +292,13 @@
     def sleep(): Unit =
       Isabelle_Thread.interrupt_handler(_ => progress.stop()) { Time.seconds(0.5).sleep() }
 
+    val log =
+      build_options.string("system_log") match {
+        case "" => No_Logger
+        case "-" => Logger.make(progress)
+        case log_file => Logger.make(Some(Path.explode(log_file)))
+      }
+
     val numa_nodes = new NUMA.Nodes(numa_shuffling)
 
     @tailrec def loop(
@@ -419,7 +425,7 @@
                   val numa_node = numa_nodes.next(used_node)
                   val job =
                     new Build_Job(progress, session_name, info, deps, store, do_store,
-                      verbose, numa_node, log, queue.command_timings(session_name))
+                      verbose, log, numa_node, queue.command_timings(session_name))
                   loop(pending, running + (session_name -> (ancestor_heaps, job)), results)
                 }
                 else {
@@ -556,7 +562,6 @@
   Options are:
     -B NAME      include session NAME and all descendants
     -D DIR       include session directory and select its sessions
-    -L FILE      append syslog messages to given FILE
     -N           cyclic shuffling of NUMA CPU nodes (performance tuning)
     -P DIR       enable HTML/PDF presentation in directory (":" for default)
     -R           refer to requirements of selected sessions
@@ -582,7 +587,6 @@
 """ + Library.indent_lines(2,  Build_Log.Settings.show()) + "\n",
       "B:" -> (arg => base_sessions = base_sessions ::: List(arg)),
       "D:" -> (arg => select_dirs = select_dirs ::: List(Path.explode(arg))),
-      "L:" -> (arg => log = Logger.make(Some(Path.explode(arg)))),
       "N" -> (_ => numa_shuffling = true),
       "P:" -> (arg => presentation = Presentation.Context.make(arg)),
       "R" -> (_ => requirements = true),
@@ -629,7 +633,6 @@
             sessions = sessions),
           presentation = presentation,
           progress = progress,
-          log = log,
           check_unknown_files = Mercurial.is_repository(Path.ISABELLE_HOME),
           build_heap = build_heap,
           clean_build = clean_build,