Я пытаюсь использовать файл конфигурации XML для Log4j2, встроенный в мое приложение Java, но не работает.Ошибка log4j2 при загрузке файла конфигурации XML
Код:
ConfigurationSource source = new ConfigurationSource(Main.class.getResourceAsStream("/in/gunbound/prelauncher/server/log4j2/log4j2.xml"));
ConfigurationFactory factory = (ConfigurationFactory) XMLConfigurationFactory.getInstance().getConfiguration(source);
ConfigurationFactory.setConfigurationFactory(factory);
Ошибка:
Exception in thread "main" java.lang.ClassCastException: org.apache.logging.log4j.core.config.XMLConfiguration cannot be cast to org.apache.logging.log4j.core.config.ConfigurationFactory at in.gunbound.prelauncher.server.Main.main(Main.java:62)
Добавление файла в путь к классам не всегда является «простым», например. если вы создаете настольное приложение с javapackager, вы получаете, например, файл .exe, который запускает приложение. Для «нормальных» java-программ, которые начинаются с «java -jar», это проще (также в таких случаях конфигурация регистратора обычно находится в папке рядом с банкой, и в этом случае манифест jar может описывать путь к классам. javapackager созданный установщик устанавливает в файлы программы, вы не можете редактировать этот файл журнала log4j, если вы не являетесь администратором) –