From 4ea3d6499fcd1126e2eed35e2f89c8b93a3d8672 Mon Sep 17 00:00:00 2001 From: Andrea Leopardi Date: Wed, 16 Mar 2016 19:28:50 +0100 Subject: [PATCH] Add --logger-otp and --logger-sasl to the command-line args I added the following command-line arguments to the ./bin/elixir binary: * `--logger-otp true|false` - to configure the `:handle_otp_reports` of the `:logger` application * `--logger-sasl true|false` - to configure the `:handle_sasl_reports` of the `:logger` application --- bin/elixir | 14 ++++++++++++++ bin/elixir.bat | 14 ++++++++------ lib/elixir/lib/kernel/cli.ex | 2 +- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/bin/elixir b/bin/elixir index 58986eead4..92c9ccf568 100755 --- a/bin/elixir +++ b/bin/elixir @@ -68,6 +68,20 @@ while [ $I -le $# ]; do eval "VAL=\${$I}" ERL="$ERL `echo $PEEK | cut -c 2-` "$VAL"" ;; + --logger-otp-reports) + I=$(expr $I + 1) + eval "VAL=\${$I}" + if [ "$VAL" == 'true' ] || [ "$VAL" == 'false' ]; then + ERL="$ERL -logger handle_otp_reports "$VAL"" + fi + ;; + --logger-sasl-reports) + I=$(expr $I + 1) + eval "VAL=\${$I}" + if [ "$VAL" == 'true' ] || [ "$VAL" == 'false' ]; then + ERL="$ERL -logger handle_sasl_reports "$VAL"" + fi + ;; --erl) I=$(expr $I + 1) eval "VAL=\${$I}" diff --git a/bin/elixir.bat b/bin/elixir.bat index c2a4065c64..78c0131f65 100644 --- a/bin/elixir.bat +++ b/bin/elixir.bat @@ -76,12 +76,14 @@ IF """"=="%par:-pz=%" (shift) IF """"=="%par:--app=%" (shift) IF """"=="%par:--remsh=%" (shift) rem ******* ERLANG PARAMETERS ********************** -IF """"=="%par:--detached=%" (Set parsErlang=%parsErlang% -detached) -IF """"=="%par:--hidden=%" (Set parsErlang=%parsErlang% -hidden) -IF """"=="%par:--cookie=%" (Set parsErlang=%parsErlang% -setcookie %1 && shift) -IF """"=="%par:--sname=%" (Set parsErlang=%parsErlang% -sname %1 && shift) -IF """"=="%par:--name=%" (Set parsErlang=%parsErlang% -name %1 && shift) -IF """"=="%par:--erl=%" (Set beforeExtra=%beforeExtra% %~1 && shift) +IF """"=="%par:--detached=%" (Set parsErlang=%parsErlang% -detached) +IF """"=="%par:--hidden=%" (Set parsErlang=%parsErlang% -hidden) +IF """"=="%par:--cookie=%" (Set parsErlang=%parsErlang% -setcookie %1 && shift) +IF """"=="%par:--sname=%" (Set parsErlang=%parsErlang% -sname %1 && shift) +IF """"=="%par:--name=%" (Set parsErlang=%parsErlang% -name %1 && shift) +IF """"=="%par:--logger-otp-reports=%" (Set parsErlang=%parsErlang% -logger handle_otp_reports %1 && shift) +IF """"=="%par:--logger-sasl-reports=%" (Set parsErlang=%parsErlang% -logger handle_sasl_reports %1 && shift) +IF """"=="%par:--erl=%" (Set beforeExtra=%beforeExtra% %~1 && shift) goto:startloop rem ******* assume all pre-params are parsed ******************** diff --git a/lib/elixir/lib/kernel/cli.ex b/lib/elixir/lib/kernel/cli.ex index 108c7d210c..77e1a04135 100644 --- a/lib/elixir/lib/kernel/cli.ex +++ b/lib/elixir/lib/kernel/cli.ex @@ -187,7 +187,7 @@ defmodule Kernel.CLI do parse_shared t, %{config | commands: [{:parallel_require, h} | config.commands]} end - defp parse_shared([erl, _|t], config) when erl in ["--erl", "--sname", "--name", "--cookie"] do + defp parse_shared([erl, _|t], config) when erl in ["--erl", "--sname", "--name", "--cookie", "--logger-otp-reports", "--logger-sasl-reports"] do parse_shared t, config end