Community
Participate
Working Groups
Created attachment 126155 [details] Patch for org.eclipse.core.runtime to log the message only once When org.eclipse.core.runtime is deployed without org.eclipse.core.runtime.compatibility.auth the message "Authorization infrastructure (org.eclipse.core.runtime.compatibility.auth) not installed." is logged multiple times in the log file. The attached patch adds a boolean flag to log the message only once.
Created attachment 126156 [details] Patch for org.eclipse.core.runtime to print the message only when debug is on I wonder if this message needs to be logged at all. This patch takes a different approach. It turns the message into a debug message which will be printed only when debug is enabled.
Note that each time this is logged, it means someone called platform authorization APIs. If you are seeing this logged many times, it suggests you have something installed that requires the authorization API. You should really either stop using the APIs (or stop using the functionality that uses the APIs), or add back the authorization fragment. We could consider logging only once per session, but I'm a bit worried this means things will be failing and there won't be any indication of the failure in the log.
I'm not using the authentication component. That's why I left it out in my deployment. This means that something else is calling it. However, I use only Equinox and a set of other org.eclipse.core plug-ins. Maybe some debug output with a full stack trace would be a better idea?
Ok, so it's org.eclipse.mylyn.tasks.core. There is already a TODO tag in their code to move to the new API so I don't need to open a bug for it. But since I'm not affected by this piece of functionality I really wonder if there is a way to turn off that logging. The issue is that this is really flooding the log files which doesn't make sense on a server. But as a workaround, I seems easier to just deploy the authentication component for now.
I have released the first patch (after fixing compile error due to modifying a final field).