Перенаправить вывод (в файл) из зависимости Maven в Java

В своем проекте я работаю с фреймворком HeidelTime , который я включил в качестве зависимости Maven. Эта структура очень многословна, поэтому я хотел бы перенаправить ее вывод в файл (но не все результаты моего приложения). Ограничения следующие:

  • HeidelTime использует регистратор (Log4J), поэтому я не могу просто перенаправить стандартный вывод в файл.
  • Я не могу получить доступ к регистратору, потому что он принадлежит основному классу ( HeidelTimeStandalone.java).
  • Я включил HeidelTime в свой проект как зависимость от Maven, и я предпочитаю оставить его как есть (даже если бы я мог загрузить код и напрямую изменить исходный код, чтобы сделать регистратор общедоступным ...)
  • Наконец, я не хочу просто перенаправлять все выходы ( java -jar myApplication.jar > file.txt), потому что я хотел бы сохранить свой стандартный вывод отдельно от вывода HeidelTime ...

Есть ли у кого-нибудь идея перенаправить вывод HeidelTime в файл? Надеюсь, это, по крайней мере, возможно!

1 ответ

Отключить регистратор heideltime можно так (взято из https://github.com/HeidelTime/heideltime/issues/86)

      HeidelTimeStandalone heidelTime = new HeidelTimeStandalone();

java.util.logging.logger htLogger = java.utillogging.LogManager.getLogManager().getLogger("HeidelTimeStandalone");
    htLogger.setLevel(java.util.logging.Level.OFF);

heidelTime = new HeidelTimeStandalone(
    Language.ENGLISH,
    DocumnetType.NARRATIVES,
    OutputType.TIMEML,
    "./config.props",
    POSTagger.NO);
Другие вопросы по тегам