ich begegnet diesen Fehler:Wie kann ich in einem src/groovy/class 'log' verwenden
groovy.lang.MissingPropertyException: No such property: log for class: org.utils.MyClass
Hier ist der Inhalt der Klasse:
package org.utils
class MyClass {
int organizationCount = 0
public int getOrganizationCount(){
log.debug "There are ${organizationCount} organization(s) found."
return organizationCount
}
}
Muss ich hinzufügen eine Importaussage? Was muss ich hinzufügen? Beachten Sie, dass sich die Klasse in src/groovy/org/utils befindet. Ich weiß, dass die Variable 'log' in Controllern, Diensten usw. zugänglich ist. Nicht sicher in 'src' Klassen.
Danke.
danke für die führen! Leider habe ich Probleme mit der Debug-Methode. Ich habe diese Ausnahme: Fehler: Keine Signatur der Methode: java.util.logging.Logger.debug() gilt für Argumenttypen: (org.codehouse.groovy.runtime.GStringImpl) Werte: [Es gibt 15363 Organisation (en) gefunden.] jedoch, wenn ich 'Info' Ebene versuchte, ist alles zu finden. Hier ist der Beispielcode: String s = "Es gibt $ {organisationCount} Organisation (en) gefunden." Logger.getLogger (this.class.getName()). Info (s) Beachten Sie, dass ich diese Ausnahme habe, wenn ich 'info' durch 'debug' ersetze. – firnnauriel
@firnnauriel: Es sieht so aus, als ob du ein Problem mit der überladenen Debug-Methode und der Magie des Groovy-Typs hast. Versuchen Sie, die Zeichenfolge als "traditionelle" Java-Zeichenfolge zu erstellen, indem Sie + anstelle von GString verwenden. –
Sie könnten auch Log4j verwenden, das toString() für das Argument aufruft, also ist es egal, ob es ein GString oder String ist. Importieren Sie einfach org.apache.log4j.Logger anstelle des JUL Loggers. –