将自定义属性添加到log4j.properties文件-java

将自定义属性添加到log4j.properties文件-java,java,log4j,Java,Log4j,我想将我的属性添加到log4j.properties文件中。 porpety被称为maxEvent,我是这样做的: log4j.appender.m=NewLog log4j.appender.m.File=m.log log4j.appender.m.layout=org.apache.log4j.PatternLayout log4j.appender.m.layout.ConversionPattern=%d{ISO8601} | %-5.5p %C(%L) | %m%n log4j.ap

我想将我的属性添加到log4j.properties文件中。 porpety被称为maxEvent,我是这样做的:

log4j.appender.m=NewLog
log4j.appender.m.File=m.log
log4j.appender.m.layout=org.apache.log4j.PatternLayout
log4j.appender.m.layout.ConversionPattern=%d{ISO8601} | %-5.5p %C(%L) | %m%n
log4j.appender.m.MaxFileSize=10MB
log4j.appender.m.MaxBackupIndex=5
#my property
log4j.appender.m.MaxEvents=3
当我在代码(int NewLog.java)中访问maxEvents时,它不会从log4j.properties文件中获取它

编辑

在log4j文件中,我有以下方法:

public
void setMaxEvents(int maxEvents) {
    this.maxEvents = maxEvents;
}

public
int getMaxEvents() {
    return maxEvents;
}
编辑2: 新日志的完整代码:

package com.common.log;


import org.apache.log4j.Priority;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.RollingFileAppender;


import java.util.ArrayList;

public class NewLog extends RollingFileAppender {


private circularArrayList<LoggingEvent> loggingEvents;


 private int maxEvents = 1; //default

public
NewLog() {
    super();
    loggingEvents = new circularArrayList<>(getMaxEvents());
}



  @Override
    protected
    void subAppend(LoggingEvent event) {

             super.subAppend(event);

    }



    public
    void setMaxEvents(int maxEvents) {
        this.maxEvents = maxEvents;
    }

    public
    int getMaxEvents() {
        return maxEvents;
    }

}
package com.common.log;
导入org.apache.log4j.Priority;
导入org.apache.log4j.spi.LoggingEvent;
导入org.apache.log4j.RollingFileAppender;
导入java.util.ArrayList;
公共类NewLog扩展RollingFileAppender{
私人通讯录记录事件;
private int maxEvents=1;//默认值
公众的
NewLog(){
超级();
loggingEvents=新的CircularAryList(getMaxEvents());
}
@凌驾
受保护的
无效子附件(记录事件){
超级子外观(事件);
}
公众的
void setMaxEvents(int-maxEvents){
this.maxEvents=maxEvents;
}
公众的
int getMaxEvents(){
返回maxEvents;
}
}

类NewLog必须具有getMaxEvents和setMaxEvents方法

另外,在属性文件中使用#进行如下注释:

#my property
log4j.appender.m.MaxEvents=3
不用

 log4j.appender.m.MaxEvents=3 //my property

appender将尝试将MaxEvents设置为字符串“3//my property”

我有…elese?适合我的东西。至少如果我把调试点放在setter中。您尝试在何处/如何使用此属性?是否有//我的属性注释?然后得到字符串,而不是int。当应该调用“setMaxBackupEvents()”时,使用#在属性文件中进行注释?这是您的问题。在设置MaxEvents之前调用构造函数。