Freecastle
I'm new here

2 Fragen zur Skriptentwicklung (Logging, Module)

Hallo,

ich habe momentan ein Problem, dass ich ein kleines Beanshellskript schreibe (im XML-Kanal), welches auch via context.logInfo/logError etc. Logausgaben erzeugen soll.

Leider sehe ich davon aber nichts in der Java-Console... das macht die Fehlersuche momentan ganz schön schwer...  Woran könnte das liegen?

(Das Skript wird von einer Absatzvorlage in der Preview heraus aufgerufen).

Zudem habe ich noch eine andere generellere Frage:

Bei der Modul-Entwicklung gehe ich momentan immer so vor, dass ich im Eclipse das Modul neu baue, und dann in der Serverkonfiguration aktualisiere und anschließend das ganze im Client dann z.B. testen will. Jetzt ist es nur so, dass die Änderungen hier immer erst nach einem Restart des Clients ziehen (obwohl z.B. auch nach der Aktualisierung des Moduls in der Java-Console als eine Meldung kommt wonach der Classloader aktualisiert wurde).

Das passiert mir momentan übrigens auch so häufig wenn ich Änderung in normalen Beanshellskripten mache... diese ziehen oft auch erst nach einem Neustart des Clients... ganz komisch. Gibt es da evtl. irgendwelche Einstellungen auf die man achten muss?

0 Kudos
1 Reply
stephan
I'm new here

Hallo,  wenn das Script über CMS_RENDER in der Vorlage aufgerufen wird, ist der Context während der Generierung der Generierungcontext. Ausgaben über context.LogInfo etc. landen daher im Generierungslog. Will man die Ausgabe auch in der Javakonsole anzeigen, so muss man natürlich erst in diesen Kontext wechseln und dort die Ausgabe durchführen.

Zum Beispiel so:

import de.espirit.firstspirit.access.GenerationScriptContext;

con = (GenerationScriptContext) context;

con.logInfo("Hello World");

Änderungen an Modulen sollten sich eigentlich auch direkt ohne Neustart auf den Client auswirken, es sei denn die Änderungen hängen direkt mit dem Client zusammen (z.B. Eingabemodul). Was evtl. auch funktionieren könnte, wenn es denn kein Clientmodul ist, wäre das zugehörige Script was die Methoden aus dem Modul aufruft nach dem Aktualisieren einmal zu Sperren/Entsperren.

Je nach verwendeter FS-Version könnte auch ein Update das Problem beseitigen, da das Classloading in neueren Versionen überarbeitet wurde.

0 Kudos