log4j的应用与配置

在java编程领域,log4j已经是事实上的日志输出工具。不但功能强大,配置还非常简单。
[size=large]一、基础知识[/size]
[size=medium]1、5种输出目的地(appender)[/size]
(1)控制台:
org.apache.log4j.ConsoleAppender

(2)文件
org.apache.log4j.FileAppender

(3)滚动文件
org.apache.log4j.RollingFileAppender

(4)每日滚动文件
org.apache.log4j.DailyRollingFileAppender

(5)书写器(暂时这么翻译,即以流格式发送到任意指定的地方)
org.apache.log4j.WriterAppender


[size=medium]2、7种优先级(priority)[/size]
从高到低分别是:
off fatal error warn info debug all

[size=medium]3、8种输出模式(PatternLayout)参数[/size]
%c:输出所属类的全名,可加上参数配置为 %c{Num},num是整数值,表示输出类的全名的后几个单词。
%d:输出时间,可加上参数配置为%d{yyyy-MM-dd HH:mm:ss SSS}
%l:日志的位置信息,包括类名,线程名,代码行数等
%t:产生该日志的线程名
%r:输出从启动到该日志的所耗费的毫秒数
%p:输出优先级名称,如debug,info等
%m:代码指定的信息。如logger.info("xxxx")
%n:换行符。通常配置在最后面。

[size=large]二、实例[/size]
[size=medium]1、开发环境为ssh.通过xml来配置[/size]
[size=medium]2、ssh环境下的依赖包[/size]
[quote]slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.2.jar
log4j-1.2.15.jar[/quote]
[size=medium]3、代码[/size]

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

<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="D:/myapp.log" />
<param name="Append" value="true" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
</layout>
</appender>
<appender name="dailyFile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="D:/myapp.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{MMdd HH:mm:ss}] %p : %c{3\} - %m%n" />
</layout>
</appender>

<!-- Application Loggers -->
<logger name="com.harmony.cap.auth">
<level value="debug" />
</logger>

<logger name="com.harmony.common">
<level value="debug" />
</logger>

<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger>

<logger name="org.springframework.beans">
<level value="info" />
</logger>

<logger name="org.springframework.context">
<level value="info" />
</logger>

<logger name="org.springframework.web">
<level value="info" />
</logger>

<logger name="org.springframework.security">
<level value="debug" />
</logger>

<!-- Root Logger -->
<root>
<priority value="warn" />
<appender-ref ref="console" />
<!-- <appender-ref ref="file" /> -->
<appender-ref ref="dailyFile" />
</root>

</log4j:configuration>



[size=large]三、小结[/size]
[size=medium]1、支持属性文件和xml文件两种配置方式,个人更倾向于xml[/size]
[size=medium]2、日志的加载在ssh环境中,只需将配置文件放到类路径下即可,一般不需要额外的配置[/size]
[size=medium]3、<root>元素只能放置在配置文件的最后[/size]
[size=medium]4、可以同时配置多个目的地(appender),但是要配置到<root>元素中才会生效。[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值