Log4J学习【十五】XML的配置方式练习
来源:互联网 发布:用户数据分析方法 编辑:程序博客网 时间:2024/04/30 09:24
今天我们来使用XML的配置方式完成几个例子,我们的重点放在XML配置文件上。
练习1:对于包cd.itcast.log和cd.itcast.log2,设置日志级别为INFO,并且cd.itcast.log下面的类使用console输出;cd.itcast.log2下面的类使用file输出。
给出测试类:
@Test
public void test(){
DOMConfigurator.configure("log4j.xml");
Logger log=Logger.getLogger("cd.itcast.log");
Logger log2=Logger.getLogger("cd.itcast.log2");
log.info("log info");
log.debug("log debug");
log2.info("log2 info");
log2.debug("log2 debug");
}
首先来考虑配置思路:
1,日志级别都是INFO,所以统一设置rootLogger的LEVEL即可;
2,要求有console和file输出,需要定义两个Appender;
3,log用console输出,log2用file输出,只需要分别把appender添加到logger中即可。
所以,配置文件为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout" />
</appender>
<appender name="file" class="org.apache.log4j.FileAppender">
<param name="file" value="log.log"/>
<layout class="org.apache.log4j.SimpleLayout" />
</appender>
<logger name="cd.itcast.log">
<appender-ref ref="console"/>
</logger>
<logger name="cd.itcast.log2">
<appender-ref ref="file"/>
</logger>
<root>
<level value="INFO" />
</root>
</log4j:configuration>
在写XML配置的时候,注意各个元素出现的顺序,因为DTD中的元素顺序是固定的。这点需要额外注意一下。
练习2:给定包cd.itcast下的日志输出级别为INFO,但是cd.itcast.log下面的类日志输出级别为DEBUG,并且,cd.itcast.log包下的日志输出除了cd.itcast包中的使用特定pattern的file appender之外,还需要输出到console中。
首先考虑一下配置思路:
1,cd.itcast需要设置一个日志输出级别INFO,需要为cd.itcast.log额外设置一个输出级别。
2,需要配置一个file和consoleappender;
3,需要为cd.itcast和cd.itcast.log独立配置appender。
@Test
public void test(){
DOMConfigurator.configure("log4j.xml");
Logger log=Logger.getLogger("cd.itcast.log");
Logger log2=Logger.getLogger("cd.itcast.log2");
log.info("log info");
log.debug("log debug");
log2.info("log2 info");
log2.debug("log2 debug");
}
测试代码不变,配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%r [%t] %p %c %x - %m%n"/>
</layout>
</appender>
<appender name="file" class="org.apache.log4j.FileAppender">
<param name="file" value="log.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%r [%t] %p %c %x - %m%n"/>
</layout>
</appender>
<logger name="cd.itcast">
<level value="INFO" />
<appender-ref ref="file"/>
</logger>
<logger name="cd.itcast.log">
<level value="DEBUG" />
<appender-ref ref="console"/>
</logger>
</log4j:configuration>
练习1:对于包cd.itcast.log和cd.itcast.log2,设置日志级别为INFO,并且cd.itcast.log下面的类使用console输出;cd.itcast.log2下面的类使用file输出。
给出测试类:
@Test
public void test(){
DOMConfigurator.configure("log4j.xml");
Logger log=Logger.getLogger("cd.itcast.log");
Logger log2=Logger.getLogger("cd.itcast.log2");
log.info("log info");
log.debug("log debug");
log2.info("log2 info");
log2.debug("log2 debug");
}
首先来考虑配置思路:
1,日志级别都是INFO,所以统一设置rootLogger的LEVEL即可;
2,要求有console和file输出,需要定义两个Appender;
3,log用console输出,log2用file输出,只需要分别把appender添加到logger中即可。
所以,配置文件为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout" />
</appender>
<appender name="file" class="org.apache.log4j.FileAppender">
<param name="file" value="log.log"/>
<layout class="org.apache.log4j.SimpleLayout" />
</appender>
<logger name="cd.itcast.log">
<appender-ref ref="console"/>
</logger>
<logger name="cd.itcast.log2">
<appender-ref ref="file"/>
</logger>
<root>
<level value="INFO" />
</root>
</log4j:configuration>
在写XML配置的时候,注意各个元素出现的顺序,因为DTD中的元素顺序是固定的。这点需要额外注意一下。
练习2:给定包cd.itcast下的日志输出级别为INFO,但是cd.itcast.log下面的类日志输出级别为DEBUG,并且,cd.itcast.log包下的日志输出除了cd.itcast包中的使用特定pattern的file appender之外,还需要输出到console中。
首先考虑一下配置思路:
1,cd.itcast需要设置一个日志输出级别INFO,需要为cd.itcast.log额外设置一个输出级别。
2,需要配置一个file和consoleappender;
3,需要为cd.itcast和cd.itcast.log独立配置appender。
@Test
public void test(){
DOMConfigurator.configure("log4j.xml");
Logger log=Logger.getLogger("cd.itcast.log");
Logger log2=Logger.getLogger("cd.itcast.log2");
log.info("log info");
log.debug("log debug");
log2.info("log2 info");
log2.debug("log2 debug");
}
测试代码不变,配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%r [%t] %p %c %x - %m%n"/>
</layout>
</appender>
<appender name="file" class="org.apache.log4j.FileAppender">
<param name="file" value="log.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%r [%t] %p %c %x - %m%n"/>
</layout>
</appender>
<logger name="cd.itcast">
<level value="INFO" />
<appender-ref ref="file"/>
</logger>
<logger name="cd.itcast.log">
<level value="DEBUG" />
<appender-ref ref="console"/>
</logger>
</log4j:configuration>
0 0
- Log4J学习【十五】XML的配置方式练习
- Log4J学习【十五】XML的配置方式练习
- 十五Spring Aop的xml配置方式
- Log4J学习【十四】XML配置方式
- Log4J学习【十四】XML配置方式
- log4j配置xml方式
- xml方式配置log4j
- Log4j xml 配置方式
- Log4J的XML格式配置方式例子
- log4j学习笔记(二)——log4j.xml的配置
- log4j.xml的配置
- log4j.xml的一般配置方式,补充说明.
- Log4J的配置方式
- log4j配置(XML配置方式)
- log4j详解(二) XML 配置方式
- Java使用xml方式配置Log4j
- 使用XML方式配置log4j日志
- Log4j 学习笔记(四)xml配置log4j.xml
- Recsys 2014 Automating Readers’ Adivsory to make book recommendations for K-12 Readers
- Xcode里-ObjC, -all_load, -force_load
- Log4J学习【十三】Properties文件中能够定义的配置项的格式和示例二
- camera ISP
- Log4J学习【十四】XML配置方式
- Log4J学习【十五】XML的配置方式练习
- 酷派s6、Coolpad 9190l_C00 无log信息输出解决方法
- ceph存储 "ceph集群浅析一"前言
- Log4J学习【十六】Log4j的默认启动流程一
- Objective C中数组排序几种情况的总结
- 南京电子地图下载 离线电子地图
- HTTP 错误 500.22 - Internal Server Error检测到在集成的托管管道模式下不适用的 ASP.NET 设置
- Log4J学习【十七】Log4j的默认启动流程二
- [leetcode]Longest Palindromic Substring