Description
Logging dependencies are very inconsistent. It seems we have absolute dependencies on log4j, yet use slf4j sometimes, and log4j other times. In some of our tests we have slf4j-nop as a test dependency.
It seems we could consolidate a lot of this if we simply did:
- slf4j-api : compile
- slf4j-log4j12 : runtime
- slf4j-nop : test
- log4j : runtime
We could do this in the parent POM and get rid of all the different dependencies throughout the code.
I don't know that we could ever use anything other than slf4j-log4j12 as the implementation (unless our dependencies broke away from using log4j directly also), but at least we'd clean up all the logging dependencies in our code/build, and would be ready to switch to something better if something came along. Further, if somebody wanted to reuse our code, and weren't tied to log4j, because they didn't need our transitive dependencies that locked in log4j, they could easily depend on their own slf4j implementation jar, and all the logging in our code would still work correctly for them without needing to use something like log4j-over-slf4j.
Attachments
Attachments
Issue Links
- is related to
-
ACCUMULO-2304 Change Log Levels to not necessitate running DEBUG in production
- Resolved
-
ACCUMULO-3162 make log members (to the extent possible) private static final
- Resolved
- relates to
-
ACCUMULO-3329 Consider consolidation of "timing" classes
- Resolved
- requires
-
ACCUMULO-1879 Separate shell into its own module
- Resolved
-
ACCUMULO-1880 Separate mapreduce into its own module
- Resolved
1.
|
Add checkstyle rule to ban log4j imports | Resolved | Unassigned | |||||||||
2.
|
Mark slf4j implementation dependencies "optional" | Resolved | Unassigned | |||||||||
3.
|
Replace log4j dependencies with slf4j where setLevel is not used. | Resolved | Ed Coleman |
|
||||||||
4.
|
Remove string concatenation in log statements where slf4j is used. | Resolved | Michael Miller |
|
||||||||
5.
|
Replace TLevel | Resolved | Unassigned | |||||||||
6.
|
Remove / deprecate use of log4j setLevel to dynamically control logging | Resolved | Unassigned | |||||||||
7.
|
TableConfWatcher (And TableNamespaceConfWatcher) shouldn't override logging | Resolved | Unassigned | |||||||||
8.
|
Avoid string format injection problems | Resolved | Ed Coleman |
|
||||||||
9.
|
Add slf4j to Main classpath | Resolved | Christopher Tubbs |
|
||||||||
10.
|
Refactor OpTimer so that it does not use log4j logger. | Resolved | Ed Coleman |
|