Logging in the LarKC Platform and Plug-ins
Discussion initiated by Christoph Fuchs.
Motivation
Currently (LarKC Release V1.0) there are different logging facilities used. I've seen that java.util.logging is used by some plugins and some simple sysouts / syserrs here and there (demo, platform).
Generally there is not much logging going on, which makes it quite hard sometimes to figure out what's wrong and what's working, especially for someone new to the project (like me!). I think some logging is always a nice thing to have to debug a program, since it it offers a load of information and is most of time quicker than stepping through the methods manually.
Proposed Solution
Since openRDF uses SLF4j and JavaGAT uses log4j, I would propose to utilitize those libraries and use SLF4j for logging in general.
The change to the code base is minimal, and SLF4j is very flexible (it uses whatever logging facility on the classpath, so if log4j would be missing java.util.logging would be used, for example).
Status
Not implemented yet
Next steps
We could write some recommendations to plug-in developers in order to guide them on the optimal solution. The libraries could be loaded by the platform so that all plug-ins can use them without the need to replicate them in each plug-in folder.
Modifications required in the current platform code. We must ensure that existing plug-ins will be still compatible in case they are using another logging procedure.
