grails:
exceptionresolver:
params:
exclude:
- password
- creditCard
4.1.3 Logging
Version: 4.0.1
Table of Contents
4.1.3 Logging
Since Grails 3.0, logging is handled by the Logback logging framework and can be configured with the grails-app/conf/logback.groovy file.
If you prefer XML you can replace the logback.groovy file with a logback.xml file instead.
|
For more information on configuring logging refer to the Logback documentation on the subject.
4.1.3.1 Logger Names
Grails artifacts (controllers, services …) get injected a log property automatically.
Prior to Grails 3.3.0, the name of the
logger for Grails Artifact followed the convention grails.app.<type>.<className>, where type is the
type of the artifact, for example, controllers or services, and className is the fully
qualified name of the artifact.
Grails 3.3.x simplifies logger names. The next examples illustrate the changes:
BookController.groovy located at grails-app/controllers/com/company NOT annotated with @Slf4j
Logger Name (Grails 3.3.x or higher) |
Logger Name (Grails 3.2.x or lower) |
|
|
BookController.groovy located at grails-app/controllers/com/company annotated with @Slf4j
Logger Name (Grails 3.3.x or higher) |
Logger Name (Grails 3.2.x or lower) |
|
|
BookService.groovy located at grails-app/services/com/company NOT annotated with @Slf4j
Logger Name (Grails 3.3.x or higher) |
Logger Name (Grails 3.2.x or lower) |
|
|
BookService.groovy located at grails-app/services/com/company annotated with @Slf4j
Logger Name (Grails 3.3.x or higher) |
Logger Name (Grails 3.2.x or lower) |
|
|
BookDetail.groovy located at src/main/groovy/com/company annotated with @Slf4j
Logger Name (Grails 3.3.x or higher) |
Logger Name (Grails 3.2.x or lower) |
|
|
4.1.3.2 Masking Request Parameters From Stacktrace Logs
When Grails logs a stacktrace, the log message may include the names and values of all of the request parameters for the current request.
To mask out the values of secure request parameters, specify the parameter names in the grails.exceptionresolver.params.exclude config property:
Request parameter logging may be turned off altogether by setting the grails.exceptionresolver.logRequestParameters
config property to false. The default value is true when the application is running in DEVELOPMENT mode and false for all other
environments.
grails:
exceptionresolver:
logRequestParameters: false
4.1.3.3 External Configuration File
If you set the configuration property logging.config, you can instruct Logback to use an external configuration file.
logging:
config: /Users/me/config/logback.groovy
Alternatively, you can supply the configuration file location with a system property:
$ ./gradlew -Dlogging.config=/Users/me/config/logback.groovy bootRun
Or, you could use an environment variable:
$ export LOGGING_CONFIG=/Users/me/config/logback.groovy
$ ./gradlew bootRun