这是通过配置文件配置的:
log4j.rootLogger=INFO,A1,A2log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%nlog4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File=F:/mytest/lgm.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} [%t] %-5p %c - %m%n
-------------------------------------------------------
我如何不通过配置文件,而是直接在JAVA代码中设置以上信息呢?

解决方案 »

  1.   

    程序里写配置文件,然后在调用log4j,手段有的……嘿嘿看log4j的初始化部分,看看是怎么读取配置文件的
      

  2.   

    Appender appender = new AsyncAppender();
    appender.setName("A");
    logger.addAppender(appender);
    logger.setLevel(Level.INFO);

    RollingFileAppender fileAppender = new RollingFileAppender();
    fileAppender.setFile("f:/mytest/hell.log",true,true,10);

    logger.addAppender(fileAppender);

    PatternLayout patternLayout = new PatternLayout(); 
    patternLayout.setConversionPattern("%d{yyyy-MM-dd HH:mm:ss:SSS} [%t] %-5p %c - %m%n");我通过以上方法,但是不行啊.
      

  3.   

    可能是加载时机不恰当。
    你这段代码应写在XXX()函数之前调用。
    具体不清楚,建议研究一下log4j原码。