import org.apache.log4j.Logger;
AccpTeacher teacher=new AccpTeacher();
    Logger logger=Logger.getLogger(AccpTeacherLog4j.class.getName());
    try{
    logger.debug("请正确设置教员的编号。");
        teacher.setId("088");
    }catch(IllegalArgumentException ex){
        logger.info(ex.getMessage());
    }
报这个错误
log4j:WARN No appenders could be found for logger (s2Java.sg.ch04.AccpTeacherLog4j).
log4j:WARN Please initialize the log4j system properly.

解决方案 »

  1.   

    警告 不是错误 好像是没配置log4j.properties文件导致的.
    不影响运行
      

  2.   

    log4j:WARN Please initialize the log4j system properly.  
      

  3.   

    Please initialize the log4j system properly. 
      

  4.   

    在src目录下创建log4j.properties文件。
    log4j.rootLogger = INFO, clog4j.appender.c = org.apache.log4j.ConsoleAppender
    log4j.appender.c.layout = org.apache.log4j.PatternLayout
    log4j.appender.c.layout.conversionPattern = %p %d [%m]-[%c]%n
      

  5.   

    同意这个,log4j必须有相应的配置文件 配置文件里有相应的appender可以指定输出到屏幕还是文件
      

  6.   

    你把下面这个另存为 log4j.xml 放到 src 下就可以了:
    <?xml version="1.0" encoding="GBK" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
      threshold="debug">  <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t] [%c{1}] %m%n" />
        </layout>
      </appender>
      
      <appender name="ASYNC_CONSOLE" class="org.apache.log4j.AsyncAppender">
        <param name="BufferSize" value="8192"/>
        <appender-ref ref="CONSOLE" />
      </appender>  <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="~/x/log/server.log" />
        <param name="Append" value="true" />
        <param name="DatePattern" value="'.'yyyy-MM-dd" />
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t] [%c{1}] %m%n" />
        </layout>
      </appender>  <root>
        <level value="INFO" />
        <appender-ref ref="CONSOLE" />
      </root>
    </log4j:configuration>你还可以把 log4j.jar 中在 org\apache\log4j\xml 里有个 log4j.dtd 文件,把这个文件拖出来放到 log4j.xml 一样地方的话,那在 eclipse 就可以有提示了,呵呵。