Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Minor
-
Resolution: Complete
-
Affects Version/s: 1.1.0.M2
-
Fix Version/s: 1.1.0.M3
-
Component/s: @ CORE, @ ROO SHELL
-
Labels:None
Description
At present STS' embedded Roo console expects all output from Roo commands to appear via the JDK Logging API. This is the way Roo normally works. However, for the "felix" and "osgi" commands in Roo 1.1.0.M1 and 1.1.0.M2, the System.out and System.err is used by Felix. This is a requirement of Felix Shell API, which is the target of delegation calls from the "felix" and "osgi" commands.
To resolve this a LoggingOutputStream needs to be written. This will log each line to the JDK Logging API for consistency with the rest of Roo (and embedding in STS). Threads should be avoided due to the ActiveProcessManager semantics involved in STS hosting multiple Roo projects concurrently. Once LoggingOutputStream is available, the FelixDelegator class in Roo should be changed to use it via (effectively) new PrintStream(new LoggingOutputStream(Level.INFO)).