LinkinPark
当你的才华撑不起你野心时,那么请潜下心继续学习,心无旁骛,愿多年以后你们我都能成为自己想象的模样。
摘要: OK,现在我们整理Logback的配置。关于Logback的使用比较简单,和使用log4j也没什么太大区别,这里就不做赘述了。 这里先来贴出一份完整的logback.xml的配置文件,以后如果用到相关配置直接这里复制就好了。 Application --> %d... 阅读全文
posted @ 2016-03-01 01:35 LinkinPark 阅读(599) 评论(1) 推荐(0) 编辑
摘要: OK,现在让我们开始logback吧。关于logback的使用,网上的资料良莠不齐,权威一点的材料比如书我是没有找到。所以只好去官网上看文档,本人英语一般,所以只能一边翻译,一边研究。这里来整理一份相对比较详细的博客。 logback概述 LogBack是由log4j的创始人开发的一... 阅读全文
posted @ 2016-02-29 20:04 LinkinPark 阅读(428) 评论(0) 推荐(0) 编辑
摘要: OK,现在我们来研究下common-logging的源码。这篇博客有参照上善若水的博客,感谢他的无私分享。 先来随便扯点吧,貌似所有这些流行的Logging框架都和Log4J多少有点关系(不太确定Commons Logging有多大关系,不过至少也都是Apache下的项目吧)。JDK Loggi... 阅读全文
posted @ 2016-02-26 14:56 LinkinPark 阅读(1022) 评论(0) 推荐(0) 编辑
摘要: common-logging源码Log接口 在common-logging的源码中,将log核心类抽象成了一个Log接口。 这里贴出Log接口的源码: /* * Licensed to the Apache Software Foundation (ASF) under one or mo... 阅读全文
posted @ 2016-02-26 13:42 LinkinPark 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 原文地址:https://segmentfault.com/a/1190000004487149。感谢作者的无私分享。 你是否真正理解并会用volatile, synchronized, final进行线程间通信呢,如果你不能回答下面的几个问题,那就说明你并没有真正的理解: 对volat... 阅读全文
posted @ 2016-02-26 11:19 LinkinPark 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 简介 commons-logging是Apache commons类库中的一员。Apache commons类库是一个通用的类库,提供了基础的功能,比如说commons-fileupload,commons-httpclient,commons-io,commons-codes等。 com... 阅读全文
posted @ 2016-02-26 11:00 LinkinPark 阅读(1891) 评论(0) 推荐(0) 编辑
摘要: 写在前面的话 log4j支持自定义的输出。所有的输出都实现了自Appender接口。一般来说,自定义输出值需要继承AppenderSkeleton类,并实现几个方法就可以了。 写这篇博客,我主要也是想说,框架之所有被成为是一个框架,是在帮我们完成大部分的通用代码,这就有一个前提就是说... 阅读全文
posted @ 2016-02-25 23:30 LinkinPark 阅读(14404) 评论(1) 推荐(2) 编辑
摘要: 本文转自上善若水的博客,原文出处:http://www.blogjava.net/DLevin/archive/2012/07/10/382678.html。感谢作者的无私分享。 LoggerRepository从字面上理解,它是一个Logger的容器,它会创建并缓存Logger实例,从而... 阅读全文
posted @ 2016-02-25 16:13 LinkinPark 阅读(898) 评论(0) 推荐(0) 编辑
摘要: 本文转自上善若水的博客,原文出处:http://www.blogjava.net/DLevin/archive/2012/07/10/382676.html。感谢作者的无私的分享。 Appender负责定义日志输出的目的地,它可以是控制台(ConsoleAppender)、文件(FileAp... 阅读全文
posted @ 2016-02-25 15:26 LinkinPark 阅读(1718) 评论(0) 推荐(0) 编辑
摘要: 本文转载上善若水的博客,原文出处:http://www.blogjava.net/DLevin/archive/2012/07/04/382131.html。感谢作者的分享。 Layout负责将LoggingEvent中的信息格式化成一行日志信息。对不同格式的日志可能还需要提供头和尾等信... 阅读全文
posted @ 2016-02-25 15:13 LinkinPark 阅读(1987) 评论(0) 推荐(0) 编辑
摘要: 经常写博客,但是一般没怎么注意些目录,最近看别人写的博客都有目录,所以我也想在以后写好目录,这样子也方便阅读。 这里就写一个实验: 这里一级目录 这里是一级目录下的文本。林肯公园 这里是1.1目录 这里是1.1目录下的文本。LinkinPark 这里是1.1.1目录 systemt... 阅读全文
posted @ 2016-02-25 14:03 LinkinPark 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 原文出处:http://www.blogjava.net/DLevin/archive/2012/06/28/381667.html。感谢上善若水的无私分享。 在简单的介绍了Log4J各个模块类的作用后,以下将详细的介绍各个模块的具体作用以及代码实现。 Logger类 Logger是对... 阅读全文
posted @ 2016-02-25 13:58 LinkinPark 阅读(2686) 评论(1) 推荐(0) 编辑
摘要: OK,现在我们来研究Log4j的源码: 这篇博客有参照上善若水的博客,原文出处:http://www.blogjava.net/DLevin/archive/2012/06/28/381667.html。感谢作者的无私分享。 Log4J将写日志功能抽象成七个核心类或者接口:Logger、... 阅读全文
posted @ 2016-02-25 13:31 LinkinPark 阅读(564) 评论(0) 推荐(0) 编辑
摘要: OK,上一篇博客我们已经实现了日志框架的基本的功能,但是还有一个最大的问题就是日志输出地不能重定向,然后一些输出也不可控。那现在我们来实现一个比较完整的日志框架。 设计思路如下: 1,定义一堆常量LinkinLog4jConstants,这些常量用于框架中日志输出的配置项,为了简单和方便... 阅读全文
posted @ 2016-02-25 10:24 LinkinPark 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 原文出处:http://kim-miao.iteye.com/blog/1662550。感谢作者的无私分享。 一.Runtime.addShutdownHook理解 在看别人的代码时,发现其中有这个方法,便顺便梳理一下。 void java.lang.Runtime.addShu... 阅读全文
posted @ 2016-02-24 18:06 LinkinPark 阅读(918) 评论(0) 推荐(2) 编辑
摘要: OK,上面一步我们已经知道了日志框架的必要性,然后我们也对比了直接不用日志框架来记录日志的种种弊端。现在我们开始就来一步一步的实现自己的日志框架。 大体的思路如下: 1,实现多种日志级别,通过设值不同的日志级别来控制项目中日志的输出等级,所以这里就要写一个等级的枚举,这个枚举就定义Linki... 阅读全文
posted @ 2016-02-24 10:50 LinkinPark 阅读(433) 评论(0) 推荐(0) 编辑
摘要: OK,在开始研究Log4j的源码之前,我们先来自己模拟一个日志工具,名字就叫linkinlog4j好了。 在软件开发过程中,出现bug总是在所难免;事实上,以我个人经验,即使在实际开发阶段,fix bug时间要远超过写代码的时间。在开发阶段,比较有效的fix bug的方法当然是调试,然而如果... 阅读全文
posted @ 2016-02-24 09:59 LinkinPark 阅读(502) 评论(0) 推荐(0) 编辑
摘要: TODO 阅读全文
posted @ 2016-02-23 01:04 LinkinPark 阅读(278) 评论(0) 推荐(0) 编辑
摘要: Layout:格式化输出日志信息 OK,前面我已经知道了。Appender必须使用一个与之相关联的Layout,这样才能知道怎样格式化输出日志信息。 日志格式化器Layout负责格式化日志信息,方法log.error()的参数只包含日志信息,利用Layout可以附加其他信息,以输出更多... 阅读全文
posted @ 2016-02-23 01:02 LinkinPark 阅读(631) 评论(0) 推荐(0) 编辑
摘要: OK,现在我们来研究输出低Appended。 Appender控制日志输出的位置 Log4j日志系统允许把日志输出到不同的地方,如控制台(Console)、文件(Files)、根据天数或者文件大小产生新的文件、以流的形式发送到其它地方等等。 Log4j内置了常用的输出地,一般情况下配置... 阅读全文
posted @ 2016-02-23 01:00 LinkinPark 阅读(894) 评论(0) 推荐(0) 编辑