I have a class in src/groovy in my grails project.
How do i make a log field that gets injected with the correct logger for that class ?
Is there a commons logging or just log4j in grails ?
A more Groovy way to do the same thing is:
private static log = LogFactory.getLog(this)
This takes advantage of the fact that this
in a static context refers to the Class
object, so the line above can be copy-pasted from one class to another without modification.
Use the @Log4j annotation introduced in Groovy 1.8. This will add a log
property
import groovy.util.logging.Log4j
@Log4j
class MyClass {
def doIt() {
log.info 'hello'
}
}
A nice benefit of using the annotation is that the logger automatically converts calls such as this:
log.info 'hello'
to:
if (log.isInfoEnabled() {
log.info 'hello'
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With