配置文件位置正确:
理由,修改配置文件后,重新运行程序,能够按修改后的配置文件运行。
配置文件是log4j自带的例子,properties的。
调用就是按照log4j的例子完成初始化的阿。

解决方案 »

  1.   

    log4j的配置好像只会被读取一次哦,最好重启一下程序吧。
      

  2.   

    我看log4j的文档,log4j可以动态的配置。
    按我的理解,那么日志的输出级别也可以动态的修改。
    开始我使用的日志输出级别是debug,我在程序中有一个死循环,不停的输出级别为debug的日志。
    我在程序的运行过程中,将日志输出级别修改为error,但是debug日志还是输出了。停止程序,重新启动后,debug日志不再输出。就是这样。表达还不清楚么?
    你们试过动态的修改日志的输出级别么?
      

  3.   

    level of a logger 是可以通过属性文件设置的,还是那句话,将你的配置文件贴出来看看吧
      

  4.   

    log4j.rootLogger=debug, stdout, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=example.loglog4j.appender.R.MaxFileSize=100KB
    # Keep one backup file
    log4j.appender.R.MaxBackupIndex=1log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
      

  5.   

    当把
    log4j.rootLogger=debug, stdout, R
    改为
    log4j.rootLogger=error, stdout, R
    后,日志的输出没有任何改变。
    为debug级别的日志同样输出了。
    现在清楚么?
    谢谢。
      

  6.   

    清楚了,请问你写日志用的什么语句?如果一条log信息的级别,大于等于记录器的级别值,那么记录器就会记录它。如果你觉得难以理解,可参考下例。 
       // get a logger instance named "com.foo"
       Logger  logger = Logger.getLogger("com.foo");    // Now set its level. Normally you do not need to set the
       // level of a logger programmatically. This is usually done
       // in configuration files.
       logger.setLevel(Level.INFO);   Logger barlogger = Logger.getLogger("com.foo.Bar");   // This request is enabled, because WARN >= INFO.
       logger.warn("Low fuel level.");   // This request is disabled, because DEBUG < INFO.
       logger.debug("Starting search for nearest gas station.");   // The logger instance barlogger, named "com.foo.Bar",
       // will inherit its level from the logger named
       // "com.foo" Thus, the following request is enabled
       // because INFO >= INFO.
       barlogger.info("Located nearest gas station.");   // This request is disabled, because DEBUG < INFO.
       barlogger.debug("Exiting gas station search");
      

  7.   

    在代码中调用如下方法即可
    PropertyConfigurator.configureAndWatch(configFile,delay)
      

  8.   

    dropship(飞翔的年代)谢谢你的热心回复。
    不过可能是我没表达清楚,你没明白我的意思。
    Banned(Evil) ,谢谢你的回复,我试试看。