1、 一般的log4j.xml的两种配置方式:
1、Logger 完成日志信息的处理
定义输出的层次和决定信息是否输出
DEBUG<INFO<WARN<ERROR
2、Appender 设置日志信息的去向
常用的:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppener(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志讯息以串流格式发送到任意指定的地方)
org.apache.log4j.JdbcAppender(将日志讯息保存到数据库中)
3、Layout 设置日志信息的输出样式
layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.SimpleLayout(包含日志讯息的级别和讯息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、执行绪、类别等讯息)
org.apache.log4j.PatterLayout(可以灵活地指定布局格式)
4、配置文件 log4j.properties或log4j.xml
log4j.properties实例:
log4j.logger.com.jjm.util=INFO, A1,A2
log4j.logger.com.jjm.dao=DEBUG, A1 (com.jjm.util和com.jjm.dao是class全名匹配字符串)
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}][%C-%M]%m%n
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File=sshdemo.log
log4j.appender.A2.MaxFileSize=500KB
log4j.appender.A2.MaxBackupIndex=1
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}][%C-%M]%m%n
log4j.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="filelog_appender"
class="org.apache.log4j.RollingFileAppender">
<!-- 设置File参数:日志输出文件名 -->
<param name="File" value="log/testlog4jxml_all.log" />
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true" />
<!-- 设置文件大小 -->
<param name="MaxFileSize" value="1MB" />
<!-- 设置文件备份 -->
<param name="MaxBackupIndex" value="10000" />
<!-- 设置输出文件项目和格式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p (%c:%L)- %m%n" />
</layout>
</appender>
<appender name="A2" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}][%C-%M]%m%n" />
</layout>
</appender>
<logger name="com.jjm.dao">
<level value="DEBUG" />
<appender-ref ref="A1" />
</logger>
<root>
<priority value="DEBUG" />
<appender-ref ref="A2" />
</root>
</log4j:configuration>
以上来自:http://www.blogjava.net/thisliy/archive/2009/06/01/279377.html
2、 log4j.xml向db、发邮件多种接入方式:
<?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="%d - %c -%-4r [%t] %-5p %x - %m%n" />
</layout>
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="TRACE"/>
</filter>
</appender>
<appender name="FILE" class="org.apache.log4j.FileAppender">
<param name="File" value="C:/log4j1.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d - %c -%-4r [%t] %-5p %x - %m%n" />
</layout>
</appender>
<appender name="DATABASE" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="URL" value="jdbc:oracle:thin:@192.168.0.59:1521:oanet"/>
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<param name="user" value="hdczoa"/>
<param name="password" value="system"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="INSERT INTO hdczoa.LOG4J(stamp,thread, info_level,class,message) VALUES ('%d', '%t', '%p', '%c', %m)" />
</layout>
</appender>
<!-- 发邮件(只有ERROR时才会发送!) -->
<appender name="MAIL"
class="org.apache.log4j.net.SMTPAppender">
<param name="threshold" value="debug" />
<!-- 日志的错误级别
<param name="threshold" value="fatal"/>
-->
<!-- 缓存文件大小,日志达到512K时发送Email -->
<param name="BufferSize" value="512" /><!-- 单位K -->
<param name="From" value="test@163.com" />
<param name="SMTPHost" value="smtp.163.com" />
<param name="Subject" value="juyee-log4jMessage" />
<param name="To" value="test@163.com" />
<param name="SMTPUsername" value="test" />
<param name="SMTPPassword" value="test" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%-d{yyyy-MM-dd HH:mm:ss.SSS} [%p]-[%c] %m%n" />
</layout>
</appender>
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="256" />
<appender-ref ref="DATABASE" />
</appender>
<!--通过<logger></logger>的定义可以将各个包中的类日志输出到不同的日志文件中-->
<logger name="com.litt2.log4j" additivity="false">
<level value="WARN" />
<appender-ref ref="CONSOLE" />
</logger>
<!--通过<category></category>的定义可以将各个包中的类日志输出到不同的日志文件中-->
<category name="com.litt3">
<level value="DEBUG" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="MAIL" />
</category>
<root>
<priority value="debug" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</log4j:configuration>
3、 接入log4j.xml的web.xml的配置:
Web配置log4j,需求增加以下内容到WEB-INF/web.xml
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>smilecargo.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.xml</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
${smilecargo.root}是web工程相对路径
4、 接入log4j.xml参数配置说明:
<!-- ========================== 自定义输出格式说明================================ -->
<!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL -->
<!-- #%r 输出自应用启动到输出该log信息耗费的毫秒数 -->
<!-- #%c 输出所属的类目,通常就是所在类的全名 -->
<!-- #%t 输出产生该日志事件的线程名 -->
<!-- #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” -->
<!-- #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 -->
<!-- #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) -->
<!-- ========================================================================== -->
以上来自:http://www.cnblogs.com/tqsummer/archive/2010/08/26/1809232.html
5、 备注:
<logger name="com.runway.bssp.activeXdemo" additivity="false">
<priority value ="info"/>
</logger>
调试时,加类似上面这个logger节点,可以定义只打印具体类,及莫个包下的日志
整合下供自己以后参考使用
转载地址:http://blog.csdn.net/subuser/article/details/20645163
分享到:
相关推荐
log4j 的配置文件示例 log4j是很好用的日志,建议项目里面都用上.
log4j常用配置,properties 和.xml两种配置示例
Log4j 学习笔记. 1. Log4j的类图 ...3. xml格式的log4j配置文件概述 4. 在xml文件中配置appender和layout 5. 我自己的一个使用xml文件配置log4j环境的很简单的例子 6. Log4j的编码习惯 参考资料
以上是从原理方面说明Log4j的使用方法,在具体Java编程使用Log4j可以参照以下示例: 1、 建立Logger实例: 语法表示:public static Logger getLogger( String name) 实际使用:static Logger logger = ...
Log4j示例 ,.properties配置,或者XML配置 有时候我们读取XML配置时候不需要验证schema这里也提供了解决方法
tiny.xml 是应用在浏览器里的XML解析器,只有1.6kb大小。暂时不支持Node.js,如果你想让其支持Node.js,可以参看这里。安装npm安装npm install tiny.xml直接从CDN获取使用<!-- Unminified 3.3KB --> ...
log4j2.xml示例<? xml version = " 1.0 " encoding = " UTF-8 " ?>< Configuration xss=removed> < Properties> < Property xss=removed>????</ Property> < Property xss=removed>%xwEx</ Property> ...
log4j2-hedera 通过Appender提供对Hedera:trade_mark:的支持,该Appender使用Hedera:trade_... 将文件log4j2.xml添加到您刚刚在项目中log4j2.xml的资源目录。 此存储库中有一个示例配置文件。 在log4j2.xml中的App
xml字符串转换json格式 可用于微信小程序xml字符串转换json格式 安装 npm方式安装 npm install --save xmlstring2json bower方式安装 bower install xmlstring2json ...console.log(JSON.stringify(xml2json(xml
1. mybatis有对应的sqmMapperConfig.xml以及db.properties、log4j.properties等 2. spring中有applicationContext-dao、applicationContext-service.xml等 3. springMVC有springmvc.xml等 #### 参与贡献 本人...
内容1:spingboot打包... logging.config=classpath:log4j2.xml 内容2: java JNA调用动态库, 爱莎门锁动态库接口 将动态库 放在 D:\hrsoft2019 文件夹下面。访问 127.0.0.1:8092/lockInterface/aisha.do 即可测试
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...
日志4p 像 log4j2 这样的 Python 日志 使用应用程序根目录中的配置文件 [log4p.py]。 应用示例: from log4p import log TestLog =...配置示例:“log4j2.xml ” config ={ 'monitorInterval' : 10, 'loggers' :{ 'Lo
第二步:配置 示例如下: 我是直接配置在了Web.config下 <?xml version=1.0 encoding=utf-8?> <section name=log4net type=log4net.Config.Log4NetConfigurationSectionHandler,> <log4net>
您可以从目录<project>/log4j/log4j2.xml下载预配置的配置文件。 用法: Maven依赖 <groupId>com.github.agogs</groupId> <artifactId>java-holiday-api <version>1.1 示例Java代码 // create a consumer ...
6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 ...
6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 ...
6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 ...
6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 ...
Changelog changelog = new Changelog ( this , R . xml . changelog); changelog . show(); 示例 2 自定义变更日志 Changelog . Builder builder = new Changelog . Builder ( this , R . xml . changelog); ...