2010-10-08 8 views
7

Quiero imprimir algunos valores en la consola, ¿cómo puedo hacer esto?Grails: ¿Cómo imprimo en la consola del cmd?

Cada vez que entro en una función, quiero que imprima una línea con cualquier texto, solo quiero saber si estoy entrando en la función, y para algunas declaraciones if-else. Principalmente para la depuración.

+0

Quizás pueda dar un ejemplo de lo que está ejecutando en la consola y lo que está tratando de imprimir? Tu pregunta es un poco vaga. –

+1

Tengo la misma pregunta. Estoy usando GGTS e intento obtener algo para registrar/imprimir en la consola en eclipse. Intenté con log.info "Hello wolrd" pero no salió nada. Quizás necesito cambiar el nivel de registro en alguna parte? En java estaría usando log4j con una consola apendiente, ¿cómo es posible este tipo de cosas en los griales? –

Respuesta

8

es posible que desee considerar griales construidos en función de registro que proporciona la misma funcionalidad que println además de más

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

en su aplicación sólo decir

log.info "Hello World" 

imprimir algo cada vez que entras una acción en un controlador puede hacer algo como esto

class UserController { 

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

    def index = { 
    } 

    def listContributors = { 
    } 
} 

esto va a imprimir en el registro cada vez que se introducen los métodos de controlador debido a la controller interceptor

+0

Esto funcionará en controladores y servicios, pero no se inyecta automáticamente en sus clases personalizadas. Puede inyectarlo manualmente, o simplemente usar 'println' –

+0

He intentado con log.info (" hello ") en mi controlador, pero no aparece nada en la consola (de eclise con GTS), y no hay directorios de registro o similares . Alguien sabe cómo hacer esto? –

+1

@JohnLittle, 'log.info (" hello ")' probablemente no se visualizó debido al nivel de registro para su aplicación, pero 'log.println (" hello ")' y 'log.error (" hello ")' Probablemente se mostrará. –

19

Si se refiere a "Imprimir en el panel de salida de la consola", a continuación, sólo hay que utilizar println:

println "Hello, world" 

generar una salida impresa:

groovy> println "Hello, world" 

Hello, world 

Si eso no es lo que quiere decir, ¿Puedes aclarar tu pregunta para ser más específico?

+0

He actualizado la pregunta – randomizertech

+1

Sí, 'println' debería funcionar. –

3

El Java regulares System.out.println("Your stuff"); también funciona.

+1

no funciona si desea imprimir la clase de dominio – kdureidy

+0

Para las clases de dominio, deberá implementar el método toString, de lo contrario no sabrá cómo imprimirlo. –

Cuestiones relacionadas