Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 1.5
-
Fix Version/s: 1.5
-
Component/s: Taverna Core
-
Labels:None
Description
Raven does not use logging, but prints out random things to System.err and System.out.
Since we cannot have dependencies on say log4j from within Raven, a proxy logging class would be needed, that can redirect logging to either log4j or java.util.logging.
Checked in raven.log.* that handles this. The proxy can print either to stderr, java.util.logging or log4j.
However, the log4j support module requires (obviously) log4j, an dependency that we cannot follow if that class is bundled with Raven. Although MyGridConfiguration in taverna-core can activate log4j, it won't currently work, as we have to make sure that log4j don't have a Raven classloader. If it does, than logging woulde mean calls to Raven which could mean calls to logging, which obviously will recurse. (luckily, within a classloader, Java seems to catch this)
We could do
<artifact groupId="log4j" artifactId="log4j" version="1.2.12" system="true"/>within the profile, but still we need to place the Log4jLog class in an artifact that will have access to that log4j classloader, probably we would need to include that with system=true as well.
<artifact groupId="log4j" artifactId="log4j" version="1.2.12" system="true"/>