您的位置:首页 > 其它

Log4J_demo_me_++

2015-11-26 01:05 323 查看
1.maven

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>


2.log4j.properties

#可以设置级别:debug>info>warn>error
#debug:显示 debug、info、warn、error
#info:显示 info、warn、error
#warn: 显示 warn、error
#error:只error
#此种方式作用于整个工程
#log4j.rootLogger=debug,appender1,appender2
##############################过滤的demo(作用于指定的包下)形如log4j.logger.包名=......##############################
######demo1.
log4j.logger.com.demo1.debug=debug,appender1
log4j.logger.com.demo1.info=info,appender2
log4j.logger.com.demo1.warn=warn,appender3
log4j.logger.com.demo1.error=error,appender4
######demo2
log4j.logger.com.demo2.file=debug,appender2,appender5
log4j.logger.com.demo2.html=info,appender2,appender6
##############################appender 可以输出到多个appender中##############################
###appender1-4  输出到控制台###
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender2=org.apache.log4j.ConsoleAppender
log4j.appender.appender3=org.apache.log4j.ConsoleAppender
log4j.appender.appender4=org.apache.log4j.ConsoleAppender
###appender5-6 输出到文件###
log4j.appender.appender5=org.apache.log4j.FileAppender
log4j.appender.appender6=org.apache.log4j.FileAppender
##############################样式 .设置文件输出样式(更多样式参见org.apache.log4j包下)##############################
#【1】TTCCLayout
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
#【2】SimpleLayout
log4j.appender.appender2.layout=org.apache.log4j.SimpleLayout
#【3】自定义样式
# %r 时间 0
# %t 方法名 main
# %p 优先级 DEBUG/INFO/ERROR
# %c 所属类的全名(包括包名)
# %l 发生的位置,在某个类的某行
# %m 输出代码中指定的讯息,如log(message)中的message
# %n 输出一个换行
# %d{}格式化时间. yyyy:年/MM:月/dd:日/HH:时/mm:分/ss:秒/SSS:毫秒
log4j.appender.appender3.layout=org.apache.log4j.PatternLayout
log4j.appender.appender3.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss:SSS}][%p][%l]:%m%n
log4j.appender.appender4.layout=org.apache.log4j.PatternLayout
log4j.appender.appender4.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%c-%t]:%m%n
#【4】文本文件 (和控制台一样可以有多种样式TTCCLayout、SimpleLayout、PatternLayout)
log4j.appender.appender5.layout=org.apache.log4j.TTCCLayout
#【5】HTML文件
log4j.appender.appender6.layout=org.apache.log4j.HTMLLayout
#设置文件输出路径
#【1】文本文件
log4j.appender.appender5.File=c:/log4j/Log4J_file.log
#【2】HTML文件
log4j.appender.appender6.File=c:/log4j/Log4J_html.html


测试过程结构图



4.demo.java

import org.apache.log4j.Logger;

public class Demo {

private static Logger logger = Logger.getLogger(Demo.class);

public static void main(String[] args) {
// 记录debug级别的信息
logger.debug("This is debug message.");
// 记录info级别的信息
logger.info("This is info message.");
// 记录warn级别的信息
logger.warn("This is warn message.");

// 记录error级别的信息
logger.error("This is error message.");
}
}


5.log4j.xml(XML方式)。。。未完待续

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="appender1"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logfile08.html" />
<param name="MaxFileSize" value="1MB" />
<param name="MaxBackupIndex" value="5" />
<layout class="org.apache.log4j.HTMLLayout" />
</appender>

<root>
<level value="debug" />
<appender-ref ref="appender1" />
</root>

</log4j:configuration>

demo2

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

<!-- 控制台输出 -->
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} [%5p] [%c] :%L - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="debug" />
<param name="levelMax" value="fatal" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>

<!-- 自定义定制化日志 -->
<appender name="Mylog4j" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Encoding" value="UTF-8" />
<param name="File" value="c:/syj/xml.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-d{yyyy-MM-dd HH\:mm\:ss} [%c]-[%p] %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="fatal" />
<param name="levelMax" value="fatal" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>

<!-- 设置包限制输出的通道 -->
<logger name="com.youxi.logs.demo.LogMe" additivity="false">
<level value="fatal" />
<appender-ref ref="Mylog4j" />
</logger>
<!-- 设置包限制输出的通道 -->
<!-- <category name="com.youxi.logs.demo.LogMe" additivity="false"> 日志输出级别,起码可以有5个级别,可以扩展自己的级别,邮件发送必须是ERROR级别不好用,所以最后自己扩展一个邮件发送级别
<level value="info" /> <appender-ref ref="stdout" /> <appender-ref ref="Mylog4j"
/> </category> -->

<root>
<!-- 设置输出的级别 -->
<priority value="info" />
<!-- 设置包限制输出的通道 -->
<appender-ref ref="stdout" />
</root>

</log4j:configuration>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  log4j