简体   繁体   English

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

[英]add custom propeties to log4j.properties file - java

I want to add my property to the log4j.properties file. 我想将我的属性添加到log4j.properties文件。 the porpety is call maxEvent and i do it like this : 烦人的是调用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

when i access maxEvents in my code(int NewLog.java), it doesn't take it from the log4j.properties file 当我在代码(int NewLog.java)中访问maxEvents时,它不会从log4j.properties文件中获取它

EDIT 编辑

in log4j file I have those methods: 在log4j文件中,我有那些方法:

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

public
int getMaxEvents() {
    return maxEvents;
}

EDIT 2: full code og newlog: 编辑2:完整代码和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;
    }

}

Class NewLog must have getMaxEvents and setMaxEvents methods. NewLog类必须具有getMaxEvents和setMaxEvents方法。

Also, use # to comment in properties file like this: 同样,使用#注释属性文件,如下所示:

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

Dont use 不要使用

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

appender will try to set MaxEvents to String "3 //my property" 附加程序将尝试将MaxEvents设置为字符串“ 3 //我的属性”

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM