Java 在运行时修改当前log4j2配置

Java 在运行时修改当前log4j2配置,java,log4j2,Java,Log4j2,我试图在运行时在代码中修改log4j2的当前配置 我在这里按指示走- 在“初始化后以编程方式修改当前配置”下 我在这条线路上遇到了问题- Layout layout = PatternLayout.createLayout(PatternLayout.SIMPLE_CONVERSION_PATTERN, config, null, null,null, null); 由于该代码无法工作,API中的构造函数与此完全不同。API中的构造函数要求您提供一个我似乎找不到太多信息的模

我试图在运行时在代码中修改log4j2的当前配置

我在这里按指示走-

在“初始化后以编程方式修改当前配置”下

我在这条线路上遇到了问题-

 Layout layout = PatternLayout.createLayout(PatternLayout.SIMPLE_CONVERSION_PATTERN, config, null,
        null,null, null);
由于该代码无法工作,API中的构造函数与此完全不同。API中的构造函数要求您提供一个我似乎找不到太多信息的模式选择器,我尝试使用DefaultSelector,并使用我在此处找到的两个选择器(标记模式选择器和脚本模式选择器),并尝试为它们添加导入语句,但我的程序找不到这些类

我应该用这个吗

createDefaultLayout(Configuration configuration)
而不是PatternLayout的方法,因为它将使用所提供配置的默认选项创建模式布局

我注意到,在createLayout方法下,我遇到了麻烦,它下面写着-

Deprecated. 
Use newBuilder() instead. This will be private in a future version.
这是否意味着这种方法现在已经过时,我根本不应该使用它?它请求使用newBuilder为自定义图案布局创建生成器

本API-

https://logging.apache.org/log4j/2.0/log4j-core/apidocs/org/apache/logging/log4j/core/layout/PatternLayout.Builder.html
似乎是一个建设者,将让我提供一个配置文件,并有方法建立自己的自定义模式布局?(但是,有一个withPatternSelector方法我找不到任何关于它的信息,所以如果我没有指定模式选择器,我希望它只使用默认值?)

在运行时更改代码中的log4j2配置,哪种方法更好?或者如果有第三种方法比这两种方法都好,你知道吗

基本上,我希望能够更改要保存的文件数(默认滚动策略)或基于时间的触发策略中的天数间隔

有什么简单的方法可以做到这一点吗

谢谢你的帮助