2013-05-14 2 views
9

Comment supprimer les messages de débogage de SBT? Ils sont connectés à stdout si l'exécution d'un projet produit ceci:Suppression de la sortie de débogage sbt

$ cat src/main/scala/Hello.scala 
object Hello { 
    def main(args: Array[String]) { 
    Console.println("Hello sbt") 
    } 
} 

$ sbt run > out.txt 

$ cat out.txt 
[info] Set current project to hello (in build file:/home/synapse/projects/algs2/) 
[info] Running Hello 
Hello sbt 
[success] Total time: 1 s, completed May 14, 2013 11:39:23 PM 
+1

Avez-vous trouvé jamais une solution? Je me bats avec ça aussi. – dcb

+1

Copie possible de [Comment supprimer les informations et les messages de réussite dans sbt?] (Http://stackoverflow.com/questions/9968300/how-to-suppress-info-and-success-messages-in-sbt) –

Répondre

1

Vous pouvez modifier le niveau de journalisation comme décrit here. Ainsi, vous pouvez changer le niveau de journalisation à Warn:

> run 
[info] Running Server 
Port is: null 
Embedded server running on port 8080. Press any key to stop. 

[success] Total time: 3 s, completed 14-May-2013 21:02:31 
> 
> set logLevel in run := Level.Warn 
... 
[info] Reapplying settings... 
[info] Set current project to server (in build file:/Users/me/myproject/) 
> run 
Port is: null 
Embedded server running on port 8080. Press any key to stop. 

et vous ne recevrez plus les messages d'information imprimés pour la commande run. Vous pouvez ajouter le paramètre à votre fichier de construction pour le rendre permanent.

+7

.sbt se compose d'une seule ligne logLevel: = Level.Error et sbt lancent toujours des informations de sortie et des messages de réussite – synapse

6

Comme mentionné dans this reference également lié par l'autre réponse, il est possible de changer le niveau de journalisation avant d'arriver à la console sbt.

"Pour définir le niveau de journalisation avant l'exécution des commandes au démarrage, utilisez -- avant le niveau de consignation."

Par exemple

$ sbt --error "runMain my.pckg.Main" 

Cependant, vous obtenez toujours le message [success] connecté à la fin. Pour faire taire cela, considérez la tuyauterie dans grep -v.

+0

Le '[success]' peut être supprimé en ajoutant 'showSuccess: = false' dans votre' build.sbt'. –

0

Vous pouvez ajouter les propriétés Niveau de journal aux propriétés Global SBT. Cela fonctionne pour la version 1.x SBT

fichier: ~/.sbt/1.0/global.sbt
logLevel := Level.Warn 

shellPrompt := { state => 
    "sbt (%s)> ".format(Project.extract(state).currentProject.id) 
} 
Questions connexes