我想将我的属性添加到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
当我在我的代码中访问maxEvents(int NewLog.java)时,它没有从log4j.properties文件中获取它
修改
log4j文件中的我有这些方法:
public
void setMaxEvents(int maxEvents) {
this.maxEvents = maxEvents;
}
public
int getMaxEvents() {
return maxEvents;
}
编辑2: 完整代码og newlog:
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;
}
}
答案 0 :(得分:1)
类NewLog必须具有getMaxEvents和setMaxEvents方法。
另外,使用#在属性文件中注释如下:
#my property
log4j.appender.m.MaxEvents=3
不要使用
log4j.appender.m.MaxEvents=3 //my property
appender会尝试将MaxEvents设置为String&#34; 3 //我的属性&#34;