在java编程领域,log4j已经是事实上的日志输出工具。不但功能强大,配置还非常简单。
一、基础知识
1、5种输出目的地(appender)
(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
2、7种优先级(priority)
从高到低分别是:
off fatal error warn info debug all
3、8种输出模式(PatternLayout)参数
%c:输出所属类的全名,可加上参数配置为 %c{Num},num是整数值,表示输出类的全名的后几个单词。
%d:输出时间,可加上参数配置为%d{yyyy-MM-dd HH:mm:ss SSS}
%l:日志的位置信息,包括类名,线程名,代码行数等
%t:产生该日志的线程名
%r:输出从启动到该日志的所耗费的毫秒数
%p:输出优先级名称,如debug,info等
%m:代码指定的信息。如logger.info("xxxx")
%n:换行符。通常配置在最后面。
二、实例
1、开发环境为ssh.通过xml来配置
2、ssh环境下的依赖包
引用
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.2.jar
log4j-1.2.15.jar
3、代码
<?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>
三、小结
1、支持属性文件和xml文件两种配置方式,个人更倾向于xml
2、日志的加载在ssh环境中,只需将配置文件放到类路径下即可,一般不需要额外的配置
3、<root>元素只能放置在配置文件的最后
4、可以同时配置多个目的地(appender),但是要配置到<root>元素中才会生效。
分享到:
相关推荐
主要讲述log4j的简介,以及log4j的配置和在实际应用的使用。如果您不知道如何配置log4j,那么这本书将对您有很大的帮助。
log4j详细说明 Log4j API帮助文档.chm log4j-1.2.17.jar。最详细的log4 配置说明以及详细操作说明文档,帮助文档。
log4j使用配置方法及项目中的应用
因此在默认的情况下,同节点下的不同Server读取同一个log4j.properties文件。由于读取的配置文件相同,不同Server上生成的日志信息也都因为相同的配置而写入同一个日志文件中。这样情况给我们根据日志分析不同Server...
Log4j比较全面的配置 log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=DEBUG log4j....
此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很...
日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录。
log4j 常见配置属性 包含xml及properties两种形式。java代码如何使用log4j
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...
log4j相关支持的jar Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条...
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的...
log4j完整手册,随用随查最需要,本书讲述了log4j配置,应用,二次开发等,非常全面且有效.
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 官方站点:http://logging.apache.org/log4j/ Log4j是Apache的一个开放源代码...
基于Apache开源项目Log4j的Web应用,Linux部署控制台日志级别调整。可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地、日志信息的输出格式log4j除了可以记录程序运行日志信息外还有一重要的功能就是...
log4j的应用配置[文].pdf
作为Apache的开源项目,Log4j可以使我们很好的控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、 UNIX Syslog守护进程等;也可以方便的使我们控制每一条日志的输出格式;通过...
log4j2.xml 应用级的配置文件 支持窗体输出、error、info、trace error和trace按照日生成和清理文件 info按照小时生成和清理文件