Capturer les NSlog vers une autre sortie (Stdout/File/Nslog central)
Genose
Membre
salut,
Quelqu'un connait il une astuce pour capturer des nslog d'une classe descendante ou d'une classe de l'application pour centraliser vers une fichier ou un autre nslog ( serai alors le nslog delegate app) non capturé par le delegate de l'appli et les rediriger comme en c++ par example vers un fichier ou un autre flux que le console.log .
et svp , je cherche un example pour apprendre à utiliser le NSlogv aussipour formater des sortie à ma facon.
Quelqu'un connait il une astuce pour capturer des nslog d'une classe descendante ou d'une classe de l'application pour centraliser vers une fichier ou un autre nslog ( serai alors le nslog delegate app) non capturé par le delegate de l'appli et les rediriger comme en c++ par example vers un fichier ou un autre flux que le console.log .
et svp , je cherche un example pour apprendre à utiliser le NSlogv aussipour formater des sortie à ma facon.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pour le formattage, c'est identique au printf du C
Quelques exemples:
%d entier
%d2 entier sur 2 digits minimum
%f flottant
%.2f flottant avec 2 chiffres après le point décimal
%6.2f flottant sur au moins 6 caractères avec 2 chiffres après le point décimal
%g double
%@ NSString (spécifique cocoa)
Pour l'affichage chaque formatteur est remplacé par sa variable correspondante formattée.
On peut mettre des expressions en lieu et place des variables.
Good luck
Ouais, ça devrait être facile avec
[NSString stringWithFormat:@format,...]
Non?
Après, il ne reste "qu'à " rediriger le NSString
Ben le probleme c'est que j'ai deja une classe partager via une instance Static, qui prend en charge cte maniere de faire. J'envoie des NSstring a ma classe AppConcroller_LogCore et je stocke les differentes string dans une variable de cette classe pour ensuite les afficher a l'utilisateur ou pour les stocker dans fichier.
mais je cherchais un moyen d'intercepter les NSLog supplementaire que pouveais contenir les autres classes, comme cela j'obtenais un fichier log "AlertApp_LogCore.log" et un fichier "Core_Class_Message.log", voir meme de les combiner.
mais bon s'il n'existe pas de methode dispo (actuellement) pour le faire, ben je vais garder et remplacer tout mes nslog restant par ma class de Log.
Merci a tous.
Petite correction: %@ n'est pas limité à NSString, on peut mettre n'importe quel objet, du moment qu'il réponde aux messages '-description' ou '-descriptionWithLocale:'
Petite correction : si l'objet ne répond pas à -(NSString*)destcription, ça affichera quand même le nom de la classe et l'adresse mémoire. Bref, usez, abusez de %@, ça marche tout le temps et c'est bien pratique.
Petite correction de la petite correction de la petite correction :
...
Euh...
Non, rien :brule: