Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 2.0-M1
-
Component/s: Configuration
-
Labels:None
-
Patch Submitted:Yes
-
Testcase included:yes
Description
One of my biggest complaints about the DSL-based approach to Log4J configuration is the way that it is impossible to define a main configuration in Config.groovy but then selectively override parts of the configuration in a grails.config.locations external configuration file. The log4j closure is a single configuration entry, so if you specify a value in an external configuration file it completely replaces the settings from Config.groovy rather than adding to them.
The attached patch allows grailsApplication.config.log4j to be a Collection or Map (whose values are Closures) as well as a single closure, and in this case the configuration mechanism calls each closure in the collection or map in sequence. Since ConfigObject extends LinkedHashMap this permits the following idiom:
grails.config.locations = ['file:external-config.groovy']
log4j.main = {
// main L4J configuration here
}
log4j.external = {
// common configuration
}
environments {
development {
log4j.env = {
// environment-specific config
}
}
production {
log4j.env = {
// environment-specific config
}
}
}
The closures will be called in their order of definition, i.e. log4j.main first, then log4j.external and finally the appropriate log4j.env.
Activity
| Field | Original Value | New Value |
|---|---|---|
| Priority | Major [ 3 ] | Blocker [ 1 ] |
| Fix Version/s | 1.4-M1 [ 16812 ] |
| Project Import | Thu Mar 24 21:22:24 CDT 2011 [ 1301019744151 ] |
| Assignee | Jeff Brown [ brownj ] |
| Status | Open [ 1 ] | In Progress [ 3 ] |
| Fix Version/s | 1.4-M1 [ 11040 ] | |
| Fix Version/s | 1.4-M2 [ 12504 ] |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | master | a995ca2... | 2011-06-08 06:25:04 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | cli-improvements | a995ca2... | 2011-06-08 06:25:04 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.0.x | a995ca2... | 2011-06-08 06:25:04 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | hibernate4 | a995ca2... | 2011-06-08 06:25:04 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.1.x | a995ca2... | 2011-06-08 06:25:04 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.2.x | a995ca2... | 2011-06-08 06:25:04 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | master | 472e96d... | 2011-06-08 06:26:10 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | cli-improvements | 472e96d... | 2011-06-08 06:26:10 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.0.x | 472e96d... | 2011-06-08 06:26:10 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | hibernate4 | 472e96d... | 2011-06-08 06:26:10 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.1.x | 472e96d... | 2011-06-08 06:26:10 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.2.x | 472e96d... | 2011-06-08 06:26:10 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jDslTests.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | master | 4e73595... | 2011-06-08 06:28:18 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jConfig.groovy
MODIFY grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/web/util/Log4jConfigListener.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | cli-improvements | 4e73595... | 2011-06-08 06:28:18 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jConfig.groovy
MODIFY grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/web/util/Log4jConfigListener.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.0.x | 4e73595... | 2011-06-08 06:28:18 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jConfig.groovy
MODIFY grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/web/util/Log4jConfigListener.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | hibernate4 | 4e73595... | 2011-06-08 06:28:18 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jConfig.groovy
MODIFY grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/web/util/Log4jConfigListener.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.1.x | 4e73595... | 2011-06-08 06:28:18 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jConfig.groovy
MODIFY grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/web/util/Log4jConfigListener.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.2.x | 4e73595... | 2011-06-08 06:28:18 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/logging/Log4jConfig.groovy
MODIFY grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/web/util/Log4jConfigListener.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | master | f26a633... | 2011-06-08 06:30:07 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/LoggingGrailsPlugin.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | cli-improvements | f26a633... | 2011-06-08 06:30:07 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/LoggingGrailsPlugin.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.0.x | f26a633... | 2011-06-08 06:30:07 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/LoggingGrailsPlugin.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | hibernate4 | f26a633... | 2011-06-08 06:30:07 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/LoggingGrailsPlugin.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.1.x | f26a633... | 2011-06-08 06:30:07 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/LoggingGrailsPlugin.groovy
|
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.2.x | f26a633... | 2011-06-08 06:30:07 -0700 | Jeff Brown / Jeff Brown | |
| Files Changed | |||||
|
MODIFY
grails-plugin-logging/src/main/groovy/org/codehaus/groovy/grails/plugins/LoggingGrailsPlugin.groovy
|
| Status | In Progress [ 3 ] | Closed [ 6 ] |
| Resolution | Fixed [ 1 ] |
| Workflow | jira [ 35252 ] | Grails [ 46979 ] |
| Workflow | Grails [ 46979 ] | Copy of Grails [ 54438 ] |
| Workflow | Copy of Grails [ 54438 ] | Grails [ 61848 ] |
| Workflow | Grails [ 61848 ] | Grails2 [ 69429 ] |
| Workflow | Grails2 [ 69429 ] | jira [ 76636 ] |
| Workflow | jira [ 76636 ] | Grails2 [ 79609 ] |
| Workflow | Grails2 [ 79609 ] | jira [ 87720 ] |
| Workflow | jira [ 87720 ] | Grails2 [ 95954 ] |
Fixed:
https://github.com/grails/grails-core/commit/a995ca2608117f650fd3dab4bc9248f97f632e8c
https://github.com/grails/grails-core/commit/472e96d535aac986a744672cd01346a614a763ae
https://github.com/grails/grails-core/commit/4e735953811b4ea29852b82a53b47abb3ca0ad9f
https://github.com/grails/grails-core/commit/f26a633662707424a7b6ce43db213e95c3a85723