Dear Mikel,
Thanks letting us know that you use ELK!
We are happy to mention your project on our wiki page (the list of
projects the use ELK), if you don't object.
> Elk sends to stdout all sorts of messages (unsupported axioms etc.) and I
> need to stop it, ie, I need Elk to be completely silent and only throw
> errors to stderr.
>
> Is there a simple way of achieving this?
ELK prints all messages using the log4j library (the one that is
included in the lib folder of the ELK OWL API distribution). By
default, a log4j appender is configured to print all messages of the
level WARN or higher (ERROR and FATAL) to stdout (see the file
log4j.properties contained in elk-owlapi.jar), but you can easily
override these settings. For example, you can remove all appenders
associated with ELK in Java as follows:
(Logger.getLogger("org.semanticweb.elk").removeAllAppenders());
And then you can register your appenders, e.g., that print all warning
messages to a text file.
I would strongly recommend to have at least one appender registered,
or to provide an option to do so, so that the users of your
application are able to see those warnings, if necessary.
Best regards,
Yevgeny