逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
1. log4j配置文件的命名。
    必须命令为 log4j.properties

2. log4j配置文件放在哪?
    放在工程里 WEB-INF/classes 目录里。(不需要自己加载,Tomcat会自动加载此配置文件)
    如果使用的是Eclipse,那么可以把 log4j.properties 放在工程的src目录下,这样当在Eclipse中修改它之后,Eclipse会自动的把它更新到classes目录里,比较方便。

3. 使用logger.
    完成1,2步后,就可以使用 log4j 了。
    private static Logger logger = Logger.getLogger(RequestMlms.class.getName());
    logger.info("Hello world");
   
    每个要使用logger的类都生成一个静态的Logger对象:
    这是有原因的,因为在配置文件中 log4j.logger.packageName 用以指定某个包下面的logger输出的日志的配置,如目的地,格式。
    例如:
    log4j.rootLogger=DEBUG, A1
    #A1 Print message into console
    log4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} %l: %m%n
    指定了根logger输出的信息到命令行(logger以树形结构管理,有继承特性:如果子包没有log4j配置,则继承使用父包的配置)。

    而如果把上面的 log4j.rootLogger=DEBUG, A1换成 log4j.logger.hb.util=DEBUG, A1
    则说明包hb.util下的所有类中使用 logger 输出的信息都输出到命令行。而此时包 hb.domain 中的类使用 logger 输出的日志时则会提示没有指定输出目的地,不进行输出。这是因为在log4j配置文件中没有为hb.domain里的类指定日志配置信息。



 
posted on 2010-08-09 18:09 逛奔的蜗牛 阅读(675) 评论(0)  编辑 收藏 引用 所属分类: Java

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理