2010-10-08 7 views
7

Je veux imprimer quelques valeurs dans la console, comment faire?Grails: Comment imprimer dans la console cmd?

Chaque fois que j'entre dans une fonction, je veux imprimer une ligne avec n'importe quel texte, je veux juste savoir si j'entre dans la fonction, et pour quelques instructions if-else. Principalement pour le débogage.

+0

Peut-être pouvez-vous donner un exemple de ce que vous exécutez dans la console et de ce que vous essayez d'imprimer? Votre question est plutôt vague. –

+1

J'ai la même question. J'utilise GGTS et j'essaie d'obtenir quelque chose à consigner/imprimer sur la console dans eclipse. J'ai essayé log.info "Bonjour wolrd" mais rien ne sort. Peut-être que j'ai besoin de changer le niveau de journal quelque part? En java j'utiliserais log4j avec une console apender, comment est ce genre de chose possible chez les grials? –

Répondre

8

vous pouvez envisager Grails construit dans la fonctionnalité de journalisation qui fournit les mêmes fonctionnalités que println plus plus

http://grails.github.io/grails-doc/3.0.x/guide/single.html#logging

dans votre application juste dire

log.info "Hello World" 

imprimer quelque chose à chaque fois que vous entrez une action dans un contrôleur, vous pouvez faire quelque chose comme ça

class UserController { 

    def beforeInterceptor = { 
     log.info "Entering Action ${actionUri}" 
    } 

    def index = { 
    } 

    def listContributors = { 
    } 
} 

ceci affichera dans le journal chaque fois que les méthodes de commande sont entrés en raison de la controller interceptor

+0

Cela fonctionnera dans Controllers and Services, mais il ne sera pas automatiquement injecté dans vos propres classes personnalisées. Vous pouvez l'injecter manuellement, ou simplement utiliser 'println' –

+0

J'ai essayé log.info (" bonjour ") dans mon contrôleur, mais rien ne sort sur la console (d'eclise avec GTS), et il n'y a pas de répertoires de journaux ou similaires . Quelqu'un sait-il comment faire ça? –

+1

@JohnLittle, 'log.info (" bonjour ")' ne s'affichait probablement pas en raison du niveau de journalisation de votre application, mais 'log.println (" bonjour ")' et 'log.error (" bonjour ")' probablement affichera. –

19

Si vous voulez dire « impression sur le panneau de sortie de la console », il vous suffit d'utiliser println:

println "Hello, world" 

Résultats en sortie imprimée:

groovy> println "Hello, world" 

Hello, world 

Si ce n'est pas ce que vous entendez, Pouvez-vous clarifier votre question pour être plus précis?

+0

J'ai mis à jour la question – randomizertech

+1

Oui, 'println' devrait fonctionner. –

3

La java régulière System.out.println("Your stuff"); fonctionne aussi.

+1

cela ne fonctionne pas si vous voulez imprimer la classe de domaine – kdureidy

+0

Pour les classes de domaine, vous devrez implémenter la méthode toString sinon il ne saura pas comment l'imprimer. –

Questions connexes