| 

.NET C# Java Javascript Exception

Logging groovy-Scripts

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Logging groovy-Scripts

Jails - 27.08.2010 11:58
Hallo zusammen!
Ich bin neu in der Welt von Grails. Ich benutze STS und versuche gerade meine log-Einträge zu verfolgen (log.debug...). Wo bzw. in welchem File kann ich nach Start der Applikation jetzt meine Log-Einträge sehen?
Ein weiteres Problem ist das Debugging. Ich kann keine Breakpoints in Groovy-Skripten setzen. Hat jemand Erfahrung im Debugging mit STS?
Danke schon mal im vorraus...
Gruß
Jails


Re: Logging groovy-Scripts

mpuhlmann - 27.08.2010 12:57
Hallo,

bzgl. des Loggings würde ich dir zunächst empfehlen, dich mit dem entsprechenden Abschnitt 3.1.2 in der Grails Dokumentation zu beschäftigen. Dort wird recht detailliert erklärt, wie man log4j im Zusammenhang mit Grails konfiguriert.

Ein oft auftretender Stolperstein ist das Setzen des Log-Levels für Grails Artifakte (Domain, Controller, TagLibs, Services, etc.). Der dort verwendete Logger-Name ist nicht der vollqualifizierte Klassenname, sondern (siehe Punkt Logging by Convention im Abschnitt 3.1.2):

grails.app.<Artifakt-Typ (domain, service, etc.)>.<vollqualifizierter Klassenname (Package + Klassenname)>

Um also etwa das Debugging für alle Controller zu aktivieren, muss man folgendes in die Config.groovy eintragen:

...
log4j = {
        ...
	debug "grails.app.controller"
        ...
}
...

Hinsichtlich Debugging im STS kann ich nur sagen, dass das schon geht. Man kann durchaus Break-Points in einem Groovy Script setzen. Du musst dann natürlich die Anwendung über Debug -> grails (run-app) aufrufen. Allerdings wirst du nicht wirklich Freude beim Debugging haben, da viele Sachen Aufgrund der Realisierung durch Metaklassen, Groovy etc. sehr schwer durchschaubar sind. So kannst du etwa die Params-Map in einem Controller nicht direkt einsehen (zumindest hab ich nach kurzem Suchen keinen offensichtlichen Weg gefunden).

Gruss

Marco


Re: Logging groovy-Scripts

milkyman - 31.08.2010 07:53
Grundsätzlich geht das Debugging in STS schon. Allerdings bringt das automatische ClassReloading von Grails den Debugger aus dem Tritt. Man sollte also entweder debuggen oder code ändern und nicht während des debuggens schon Änderungen vornehmen. Nahc Änderungen also sicherheitshalber mal die App beenden und wieder neu starten.

Daher nutze ich das Debugging auch nur wenn ich anders wirklich nicht weiterkomme. Ansonsten lieber mal mit log.debug() arbeiten oder sogar was in die View reinschreiben, dann hat man Debug-Ausgabe und Ergebnis auf einen Blick.

Bye,
Horst


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Logging groovy-Scripts" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.