[
https://issues.apache.org/jira/browse/RATIS-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16967322#comment-16967322
]
Henrik Hegardt edited comment on RATIS-743 at 11/5/19 12:06 PM:
----------------------------------------------------------------
>I think we should remove test scopes added by RATIS-508 from both
>slf4j-log4j12 and log4j. Could you check? Thank you in advance.
Adding slf4j-log4j would force a user of the Ratis library to use log4j as a
implementing logging framework, which I believe was the sole purpose of
RATIS-508 to remove. The purpose of slf4j is to let the user to choose the
logging binding dependency by including the appropriate slf4j-XXX dependency in
their project. And including that with compile scope in ratis, I believe, would
defeat that purpose?
And there's still the issue of Ratis-logservice which includes log4j in its
classpath due to its dependency on hadoop-common. I still think that ultimately
log4j should be removed entirely from Ratis, except from test scope (which is
managed by slf4j-log4j in test scope so there's no need to explicitly to define
log4j in DM), so there's no accidental logging bindings/inclusions. The only
module that could/should have log4j with compile scope should be Ratis-example,
since it needs a logging framework when it's executed.
was (Author: hheg):
>I think we should remove test scopes added by RATIS-508 from both
>slf4j-log4j12 and log4j. Could you check? Thank you in advance.
Adding slf4j-log4j would force a user of the Ratis library to use log4j as a
implementing logging framework, which I believe was the sole purpose of
RATIS-508 to remove. The purpose of slf4j is to let the user to choose the
logging binding dependency by including the appropriate slf4j-XXX dependency in
their project. And including that with compile scope in ratis, I believe, would
defeat that purpose?
And there's still the issue of Ratis-logservice which includes log4j in its
classpath due to its dependency on hadoop-common. I still think that ultimately
log4j should be removed entirely from Ratis, except from test scope (which is
managed by slf4j-log4j in test scope so there's no need to explicitly to define
log4j in DM), so there's no accidental logging bindings/inclusions. The only
module that could/should have log4j with compile scope should be Ratis-example,
since it needs a logging framework when it's run.
> Remove log4j default test scope from dependencyManagement
> ----------------------------------------------------------
>
> Key: RATIS-743
> URL: https://issues.apache.org/jira/browse/RATIS-743
> Project: Ratis
> Issue Type: Improvement
> Components: build
> Reporter: Tsz-wo Sze
> Assignee: Henrik Hegardt
> Priority: Major
>
> As discussed in RATIS-508, we should omit the default scope so that the
> downstream modules can get the correct scope from other modules.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)