log4j中的additivity在属性文件中怎么定义呢
看拉文档,additivity是在定义Logger时定义,那么请看我的配置
关键一句是
"log4j.logger.lt.Log1.additivity=false"
Log1是自己定义的Logger
其他配置都生效拉,就是这句没有.我就是不知道additivity该放在哪里定义
网上找不到相关的例子
哪位大虾能够指导一下呢??
#configure root logger
log4j.rootLogger=INFO,console
#define appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
#define LAYOUTS
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
#define PatternLayout
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%p %d{yyyy-MM-dd HH:mm:ss} - %m%n
#configure Log1 logger
log4j.logger.lt.Log1=WARN,R
log4j.logger.lt.Log1.additivity=false
#define appender
log4j.appender.R=org.apache.log4j.FileAppender
log4j.appender.R.file=Log1Log.txt
#define LAYOUTS
log4j.appender.R.layout=org.apache.log4j.SimpleLayout
#define PatternLayout
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %d{yyyy-MM-dd HH:mm:ss} - %m%n
不妨把我的测试类也贴出来把,很简单的
package lt;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Log1 {
static
{
System.out.println(System.getProperty("user.dir"));
PropertyConfigurator.configure("LogCfg.properties");
}
static Logger rootLogger = Logger.getLogger("free");
static Logger log1Logger = Logger.getLogger(Log1.class.getName());
public static void testRootLogger()
{
rootLogger.debug("rootLogger debug");
rootLogger.info("rootLogger info");
rootLogger.warn("rootLogger warn");
rootLogger.error("rootLogger error");
rootLogger.fatal("rootLogger fatal");
}
public static void testLog1Logger()
{
log1Logger.debug("log1Logger debug");
log1Logger.info("log1Logger info");
log1Logger.warn("log1Logger warn");
log1Logger.error("log1Logger error");
log1Logger.fatal("log1Logger fatal");
}
public static void main(String[] args)
{
testRootLogger();
testLog1Logger();
}
}