log4j配置使用
来源:互联网 发布:怎样提高淘宝店排名 编辑:程序博客网 时间:2024/05/29 09:13
摘要:log4j的配置有很多方式方法,笔者就把自己现在用的配置方式写一下吧,比较简单,也没有深入研究这块,下面我们开始
日志记录器(Logger)是日志处理的核心组件。
日志记录器(Logger)的行为是分等级的。如下所示:
分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR->WARN->INFO->DEBUG可以设置级别,低于此级别的,将不会打印
ALL 各级包括自定义级别
DEBUG 指定细粒度信息事件是最有用的应用程序调试
ERROR 错误事件可能仍然允许应用程序继续运行
FATAL 指定非常严重的错误事件,这可能导致应用程序中止
INFO 指定能够突出在粗粒度级别的应用程序运行情况的信息的消息
OFF 这是最高等级,为了关闭日志记录
TRACE 指定细粒度比DEBUG更低的信息事件
WARN 指定具有潜在危害的情况
下面来看具体配置,在resources下新建log4j.xmld代码如下
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"><log4j:configuration> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{dd/MM/yy HH:mm:ss.SSS} [%t] [%-5l] %p - %m%n"/> </layout> </appender> <!--自定义appender--> <appender name="custom_a" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="logs/custom_a.log"/> <!--日志输出的本地路径--> <param name="Append" value="false"/> <!--是否叠加 true:日志都会在文件里面; false:每次进来都覆盖上一次的--> <param name="MaxBackupIndex" value="3"/> <!--最大roll的文件数--> <param name="MaxFileSize" value="10240"/> <!--文件size上限--> <layout class="org.apache.log4j.PatternLayout"> <!--日志输出格式--> <param name="ConversionPattern" value="[%d{dd/MM/yy HH:mm:ss:sss}] [%t] [%-5l] %p : %m%n"/> </layout> </appender> <!--自定义logger--> <logger name="custom_l" additivity="false"> <level value="DEBUG"/> <appender-ref ref="custom_a"/> </logger> <!--设置控制台输出级别--> <root> <level value="DEBUG"/> <appender-ref ref="CONSOLE"/> </root></log4j:configuration>
我们对上面的稍微解释下
appender 为日志输出目的地,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
Layout:日志输出格式,Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:
%m 输出代码中指定的消息
%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 )
配置好了,我们来测试一下
import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class TestLog { //控制台输出 private static Logger log = LoggerFactory.getLogger(TestLog.class); //日志输出在custom_l指定的文件目录中 private static Logger custom_l = LoggerFactory.getLogger("custom_l"); public static void main(String args[]) { log.debug("debug"); log.warn("warn"); log.debug("debug"); log.error("error"); custom_l.info("custom_l info"); custom_l.debug("custom_l debug"); }}
运行结果如下图
上面的标签解释从百度复制而来,写的有误的,望留言,万分感谢!
- Log4j使用--简单配置
- Log4j使用基本配置
- Log4j 配置使用详解
- log4j配置使用
- log4j的配置使用
- Log4j配置使用
- Log4j使用 配置
- log4j配置 使用总结
- Log4j 配置使用详解
- log4j使用和配置
- log4j配置与使用
- 如何配置使用 Log4j
- Log4j配置及其使用
- Log4j 配置及使用
- 如何配置使用 Log4j
- log4j配置使用
- log4j配置和使用
- log4J配置,和使用
- hdu 2018 母牛的故事 动态规划--简单
- mysql数据库备份
- qwt横轴为时间轴,纵轴为随机数
- hibernate中一对多关系的映射
- iOS hitTest与PointInside方法
- log4j配置使用
- Firefox火狐浏览器强制使用阅读模式(添加插件法)
- I Hate It||HDU1754
- C#之隐式与显示类型转换
- 优先队列的重载应用(初学)
- android运行时权限的管理
- vs2017 xamarin开发android 导入重复jar 无法编译
- 【Mybatis从0到1-003】mybatis框架及简单入门程序
- Java集合类总结3——Map