From: Jean Privat Date: Thu, 26 Feb 2015 13:43:55 +0000 (+0700) Subject: toolcontext: log all verbose infos in the log directory X-Git-Tag: v0.7.2~1^2~3 X-Git-Url: http://nitlanguage.org?hp=0276de5e08ccd88b30c0dd034c50cf5a0db7d454 toolcontext: log all verbose infos in the log directory Signed-off-by: Jean Privat --- diff --git a/src/toolcontext.nit b/src/toolcontext.nit index a5b7ceb..62c184a 100644 --- a/src/toolcontext.nit +++ b/src/toolcontext.nit @@ -102,6 +102,9 @@ class ToolContext # Directory where to generate log files var log_directory: String = "logs" + # Stream in `log_directory` where all info messages are written + var log_info: nullable Writer = null + # Messages private var messages = new Array[Message] private var message_sorter: Comparator = default_comparator @@ -236,6 +239,10 @@ class ToolContext if level <= verbose_level then print "{s}" end + if log_info != null then + log_info.write s + log_info.write "\n" + end end # Executes a program while checking if it's available and if the execution ended correctly @@ -429,8 +436,10 @@ The Nit language documentation and the source code of its tools and libraries ma if opt_log.value then # Make sure the output directory exists log_directory.mkdir - end + # Redirect the verbose messages + log_info = (log_directory/"info.txt").to_path.open_wo + end end # Get the current `nit_version` or "DUMMY_VERSION" if `--set-dummy-tool` is set.