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

时间:2014-04-27 12:22:58

标签: 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.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;
    }

}

1 个答案:

答案 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;