当通过反射从外部JAR调用方法时,Log4j配置警告



我正在使用反射调用方法。为此,在运行时,I:

1)加载包含声明方法的类的JAR文件
loader = (URLClassLoader) ClassLoader.getSystemClassLoader();
Class urlClass = URLClassLoader.class;
Method method = urlClass.getDeclaredMethod("addURL", new Class[]{URL.class});
method.setAccessible(true);         
method.invoke(lLoader, new Object[] {lJarFile.toURI().toURL()});
2)调用方法
lExternalMethod.invoke(lClass.newInstance());

3)方法调用工作并做它应该做的事情,但我在控制台中得到以下内容:

log4j:WARN No appenders could be found for logger (JarName) 
log4j:WARN Please initialize the log4j system properly

我没有在我的应用程序中使用log4j,但我正在加载的JAR调用该方法。我调用的方法有多行:

Logger.GetLogger().Log("Msg", "Msg description");

同样,JAR还包含log4j。属性文件。

有办法解决这个问题吗?

提供Log4J配置文件,或者忽略它——这是一个无害的警告,表示没有Log4J配置文件。(是的,有,但显然没有一个定义根追加器等)您应该只在启动时看到该消息。

相关内容

  • 没有找到相关文章

最新更新