I want to replace the auto injected log
object, which is of type org.apache.commons.logging.Log
with an object of type org.slf4j.Logger
, so that I can use it properly with Logback.
Therefore I need to create a ...Transformer
class (written in Java) - that's what I got from Graeme Rocher over at the "grails-user" mailing list. I'm also aware that I have to pack this ...Transformer
class within a plugin and make it a *.jar archive which I can load within the lib/
folder of the plugin. But I guess I'm doing something wrong here as I have the class, along with a META-INF
folder which contains the MANIFEST.MF
file as well as another folder services
which holds the following file org.codehaus.groovy.transform.ASTTransformation
which holds just one String: the canonical name of the ...Transformer
class.
Now, if I try to do a grails clean
everything is fine, BUT if I try to run grails package-plugin
the console comes up with a java.lang.ClassNotFoundException
.
Clipping from Stacktrace:
| Packaging Grails application...
| Error Fatal error during compilation org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Could not instantiate global transform class my.package.ast.LoggingTransformation specified at jar:file:/C:/Source/MyGrailsAST/lib/replace-logging-logback-ast.jar!/META-INF/services/org.codehaus.groovy.transform.ASTTransformation because of exception java.lang.ClassNotFoundException: my.package.ast.LoggingTransformation
1 error
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Could not instantiate global transform class my.package.ast.LoggingTransformation specified at jar:file:/C:/Source/MyGrailsAST/lib/replace-logging-logback-ast.jar!/META-INF/services/org.codehaus.groovy.transform.ASTTransformation because of exception java.lang.ClassNotFoundException: my.package.ast.LoggingTransformation
Does anybody have some experience with Grails plugins which handle with AstTransformer
and could give me some advice on this? Is there a good tutorial out there which I haven't seen so far?
Please let me know ;)