我需要更改log4j2配置文件的默认位置。我按照这里的文档 https://logging.apache.org/log4j/2.x/manual/webapp.html
但是 log4j2 可以看到的唯一文件是 log4j2.xml类路径中。否则我得到“找不到log4j2配置文件”
我试过:
-1.设置上下文参数
-2将系统属性Log4jContextSelector设置为“org . Apache . logging . log4j . core . selector . jndicontextselector”。使用JNDI选择器
如本文所述https://logging.apache.org/log4j/2.x/manual/webapp.html#ContextParams
-3 查找:网络、环境、系统、ctx 和捆绑包。前 4 个失败的只有捆绑包有效,但您只能在类路径中查找。
-4设置isLog4jAutoLaunalization禁用为true,我不确定在这种情况下如何配置过滤器。如果我将它们包含在web.xml应用程序将不会部署。
项目中的jar
./WEB-INF/lib/log4j-jcl-2.4.1.jar
./WEB-INF/lib/log4j-core-2.4.1.jar
./WEB-INF/lib/log4j-slf4j-impl-2.4.1.jar
./WEB-INF/lib/log4j-api-2.4.1.jar
在我使用.propeties文件的情况下,我使用如下所示的代码
@Plugin(name = "LogsConfigurationFactory", category = ConfigurationFactory.CATEGORY)
public class CustomLogsConfigurationFactory extends PropertiesConfigurationFactory {
@Override
public Configuration getConfiguration(String name, URI configLocation) {
File propFile = new File("/path_to/log4j2.properties");
return super.getConfiguration(name, propFile.toURI());
}
@Override
protected String[] getSupportedTypes() {
return new String[] {".properties", "*"};
}
}
我认为您可以在 Xml配置工厂上更改自定义日志配置工厂,并在 getSupportedTypes 方法中更改返回类型。我希望这会对你有所帮助。
问题内容: 我需要从Docker容器中在后台运行的Java应用程序中启动Selenium。启动失败,因为在运行时无法访问X11环境。请参阅下面的内容。 我该怎么办? 问题 我从安装Java 8和Jetty 9.3.x 的简单程序开始运行一个简单的服务(实际上是selenium的东西)。该服务实际上是为了启动一些需要UI才能执行的事情而设置的。我遇到的问题是其中的任何内容执行失败,因为UI在我运行的
在SpringJSFWeb应用程序中将Netty客户端处理程序配置为消息接收点,有没有具体的方法? 如果一些独立的Java应用程序充当Netty服务器,我如何接收到SpringJSFWeb应用程序的消息?
我一直在努力让我的第一个Android应用程序工作。我有一个使用webview的活动,我用它来打开上面有html表单的网页。 让“选择文件”按钮(用于文件输入)工作有些困难,但多亏了这里发布的在网络视图中上传文件的帮助,我终于解决了这个问题。从那里,我基本上使用了他们在Github上提供的主活动java代码。 我的实际问题是,当点击一个文件输入按钮时,我没有让用户使用我想要的设备摄像头的选项。起初
这是MyResource: 和我的web.xml: 在客户端,我使用这个url:http://localhost:8080/[projectname]/webapi/helloworld 谢了!