2010-10-08 20 views
7

Chcę wydrukować kilka wartości w konsoli, jak to zrobić?Grails: Jak mogę wydrukować na konsoli cmd?

Za każdym razem, gdy dostaję się do funkcji, chcę wydrukować linię z dowolnym tekstem, chcę tylko wiedzieć, czy dostaję się do funkcji i dla niektórych instrukcji if-else. Głównie do debugowania.

+0

Być może możesz podać przykład tego, co używasz w konsoli i co próbujesz wydrukować? Twoje pytanie jest trochę niejasne. –

+1

Mam to samo pytanie. Używam GGTS i próbuję uzyskać coś do zalogowania/wydrukowania na konsoli w czasie zaćmienia. Próbowałem log.info "Hello wolrd", ale nic nie wychodzi. Być może muszę gdzieś zmienić poziom dziennika? W java używałbym log4j z apenderem konsoli, jak to możliwe w grialach? –

Odpowiedz

8

może warto rozważyć Grails wbudowane funkcje rejestrowania, który zapewnia taką samą funkcjonalność jak println plus więcej

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

w aplikacji tylko powiedzieć

log.info "Hello World" 

wydrukować coś każdym wejściu Akcja w kontrolerze możesz zrobić coś takiego:

class UserController { 

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

    def index = { 
    } 

    def listContributors = { 
    } 
} 

będzie wydrukować w dzienniku, gdy metody kontrolera są wprowadzane ze względu na controller interceptor

+0

To zadziała w kontrolerach i usługach, ale nie zostanie automatycznie wstawione do twoich własnych klas niestandardowych. Możesz ręcznie wstrzyknąć lub po prostu użyć 'println' –

+0

Próbowałem log.info (" cześć ") w moim kontrolerze, ale nic nie wychodzi na konsolę (eklise z GTS) i nie ma żadnych katalogów logów lub podobnych . Czy ktoś wie, jak to zrobić? –

+1

@JohnLittle, 'log.info (" hello ")' prawdopodobnie nie wyświetlał się z powodu poziomu logowania dla twojej aplikacji, ale 'log.println (" hello ")' i 'log.error (" hello ")' prawdopodobnie wyświetli. –

19

Jeśli masz na myśli "drukuj do panelu wyjściowego konsoli", a następnie po prostu trzeba użyć println:

println "Hello, world" 

Wyniki w wydruku:

groovy> println "Hello, world" 

Hello, world 

Jeśli to nie to, co masz na myśli, czy możesz wyjaśnić swoje pytanie bardziej szczegółowo?

+0

Zaktualizowałem pytanie – randomizertech

+1

Tak, 'println' powinno działać. –

3

regularnego java System.out.println("Your stuff"); działa zbyt.

+1

to nie działa, jeśli chcesz wydrukować domenę klasy – kdureidy

+0

Dla klas domeny będziesz musiał zaimplementować metodę toString, inaczej nie będzie wiedział, jak ją wydrukować. –

Powiązane problemy