javaweb学习总结(六)log4j xml和properties两种配置
来源:互联网 发布:java布尔类型的常量 编辑:程序博客网 时间:2024/06/06 06:59
定义输出的层次和决定信息是否输出
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 把日志进行分级分开来打以后方便进行日志排除错误 --><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><!-- [屏幕Appender] =====--><appender name="DEFAULT-CONSOLE" class="org.apache.log4j.ConsoleAppender"> <param name="encoding" value="utf-8" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{yyyy-MM-dd HH\:mm\:ss}][%p][%t]- %l %n :%m%n" /></layout></appender> <!-- [DEBUG Appender] --><appender name="DEBUG-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="file"value="/home/admin/output/logs/javalog/welo-admin/debug.log" /><param name="append" value="true" /><param name="encoding" value="utf-8" /><param name="threshold" value="debug" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{yyyy-MM-dd HH\:mm\:ss}][%p][%t]- %l %n :%m%n" /></layout></appender><!-- [INFO Appender] --><appender name="INFO-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="file"value="/home/admin/output/logs/javalog/welo-admin/info.log" /><param name="append" value="true" /><param name="encoding" value="utf-8" /><param name="threshold" value="info" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{yyyy-MM-dd HH\:mm\:ss}][%p][%t]- %l %n :%m%n" /></layout></appender><!-- [WARN Appender] --><appender name="WARN-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="file"value="/home/admin/output/logs/javalog/welo-admin/warn.log" /><param name="append" value="true" /><param name="encoding" value="utf-8" /><param name="threshold" value="warn" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{yyyy-MM-dd HH\:mm\:ss}][%p][%t]- %l %n :%m%n" /></layout></appender><!-- [ERROR Appender] --><appender name="ERROR-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="file"value="/home/admin/output/logs/javalog/welo-admin/error.log" /><param name="append" value="true" /><param name="encoding" value="utf-8" /><param name="threshold" value="error" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{yyyy-MM-dd HH\:mm\:ss}][%p][%t]- %l %n :%m%n" /></layout></appender><!-- [公共Appender] 汇总性能 --><appender name="MONITOR-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="file"value="/home/admin/output/logs/javalog/welo-admin/monitor.log" /><param name="append" value="true" /><param name="encoding" value="utf-8" /><param name="threshold" value="info" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{yyyy-MM-dd HH\:mm\:ss}][%p][%t]- %l %n :%m%n" /></layout></appender><!-- 输出sql 语句 by chb --><appender name="IBatis" class="org.apache.log4j.DailyRollingFileAppender"><param name="file"value="/home/admin/output/logs/javalog/welo-admin/IBatis.log" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="debug" /> <param name="LevelMax" value="error" /> </filter></appender> <logger name="com.ibatis" additivity="true"> <level value="info" /> </logger> <logger name="java.sql.Connection" additivity="true"> <level value="info" /> </logger> <logger name="java.sql.Statement" additivity="true"> <level value="info" /> </logger> <logger name="java.sql.PreparedStatement" additivity="true"> <level value="info" /> <appender-ref ref="IBatis" /> </logger> <logger name="java.sql.ResultSet" additivity="true"> <level value="info" /> <appender-ref ref="IBatis" /> </logger><root><level value="debug" /> <!-- <appender-ref ref="DEFAULT-CONSOLE" /> --> <appender-ref ref="IBatis" /><appender-ref ref="DEBUG-APPENDER" /> <appender-ref ref="INFO-APPENDER" /><appender-ref ref="WARN-APPENDER" /> <appender-ref ref="ERROR-APPENDER" /></root></log4j:configuration>
格式说明layout中的参数都以%开始,后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):
%c 输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName)
%d 输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数
%n 换行符
%m 输出代码指定信息,如info(“message”),输出message
%p 输出优先级,即 FATAL ,ERROR 等
%r 输出从启动到显示该log信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
个人偏向于使用xml配置,因为xml配置层次感更为清晰。
- javaweb学习总结(六)log4j xml和properties两种配置
- log4j 日志配置 properties 和 xml形式两种
- log4j 日志配置 -- properties 和 xml两种形式
- log4j 日志配置 properties 和 xml形式两种
- log4j配置参考手册:log4j.properties和log4j.xml两种格式
- log4j的两种配置xml与properties
- log4j.properties和log4j.xml配置
- log4j.properties和log4j.xml配置
- ibatis log4j 打印sql,xml和properties两种形式
- Log4j配置(xml和property两种)
- logger4j.properties和log4j.xml的常用配置(干货)
- logger4j.properties和log4j.xml的常用配置(干货)
- log4j配置xml和properties实例
- Javaweb学习总结(六)
- Javaweb学习总结-(六)
- log4j.properties配置学习
- spring mvc学习(三)之log4j.properties和hibernate.properties的配置
- slf4j兼容commons-logging,log4j,java.util.logging,支持log4j.xml和log4j.properties配置
- PVANet中的solver.prototxt中的plateau实现
- C语言学习3:变量与算数表达式及printf函数
- NOIP2009提高组
- SSM之Mybatis对数据库的查询以及批量操作
- java 服务降级开关设计思路
- javaweb学习总结(六)log4j xml和properties两种配置
- 委托(delegate)小坑
- 使用css美化单选框(radio)和复选框(checkbox)的样式
- Android状态栏的显示与隐藏
- Mycat1.6 release版本报错: can't find (root) parent sharding node for sql
- CookieJar和HTTPCookieProcessor
- 数据库截取字符串的问题
- Android Jni 创建多线程调用Java方法
- 关于java 注解中元注解Inherited的使用详解