Comment filtrer la sortie de la console dans Xcode
Dans mon iOS projet, j'utilise l'un de la 3e partie de la bibliothèque, ce qui est incroyable le spamming dans la sortie de la console. Puis-je appliquer l'un filtrage à la sortie de débogage.
source d'informationauteur ArtFeel
Vous devez vous connecter pour publier un commentaire.
Travaille dans Xcode 5.0 grâce à 7.3, Apple ne prend plus en charge Xcode plugins de Xcode 8.0.
MCLog devrait être ce que vous cherchez.
C'est un XCode plugin.
Si la bibliothèque est à l'aide de NSLog vous pouvez la redéfinir et d'ignorer le message de log quand il s'agit de la bibliothèque. Exemple de code:
Noter que
funcName
contient le nom de la classe et de la méthode de l'envoi du message. Si la bibliothèque est un bon citoyen, et a des classes qui commencent par un préfixe, jeter la sortie si le nom de classe commence avec les. Sinon, vous devez charger une liste de classes de la bibliothèque et de les vérifier avant de les fonctions fprintf ligne.Ce qui bien sûr, ne duplique pas le journal de syslogd comme NSLog n', mais qui s'en soucie. 😛
Cela dépend de si vous utilisez directement la 3ème partie de la bibliothèque de code source de votre projet ou d'une binaire de la bibliothèque.
Si vous utilisez le code source, je vous suggère de vérifier ce qu'ils utilisent pour se connecter les messages. Il peut y avoir un moyen de réduire le niveau de verbosité. Si elles sont à l'aide de la plaine
NSLog
la seule option serait de redéfinirNSLog
afin de faire un peu de filtrage, comme Jano proposé de vous.Si elles sont à l'aide de bas niveau des fonctions comme
printf
et le souhaitez, votre meilleure option est de les remplacer par votre propre custom logging macro, comme:Ensuite, remplacez
printf("a c string message")
avecLOG_3P("a c string message")
. Vous aurez besoin de personnaliser la solution, d'ajuster les paramètres d'une macro ou même ajouter plusieurs macros pour votre cas. Et faire un peu de recherche et de remplacement jusqu'à ce que cela fonctionne.Lorsque vous souhaitez voir la 3ème partie de la bibliothèque de journaux, il suffit de définir
DEBUG_3P
dans vos paramètres de construction que C drapeaux:-D DEBUG_3P
sinon, il sera muet.Si vous êtes en utilisant un binaire de la bibliothèque, vous pouvez simplement construire avec sa version de la configuration, de désactiver ou de réduire les journaux de verbosité à son minimum.
Swift, j'ai écrit un wrapper autour de print() qui fait juste cela. Voir ici: https://github.com/SebastianMecklenburg/TagLog
Il fonctionne par l'ajout de balises à des messages de débogage et puis filtrez les résultats par ces balises. Il travaille tous dans le code et n'a pas besoin d'un Xcode plugin.