发表于: 2017-10-20 23:35:35

1 703


今天完成的任务

一、需求讲解

听完需求讲解,聚金融竟然是一个gaolidai公司,haishisuishipaoludenazhong...所以呢,额,聚金融产品线就投资理财这一个产品,核心主要在后台管理系统,难点不多,就是推荐债权匹配这里有点麻烦。


二、完成小课堂部分文本内容、代码已经准备好了,还剩一些文本内容需要整理

1.背景介绍
有数据显示,一个应用程序中大约有4%的代码用来打日志。
为什么要开发log4j 2?

为什么要开发slf4j?


2.知识剖析
Log4j2新特性
1) Log4j 2被设计成一个具有审计功能的日志框架。在配置更新时,Log4j 1.x and Logback对日志事件没有反应,Log4j 2则会正常工作。另外,Logback不允许Appenders中的异常是不可见的,而Log4j2可以配置成发送异常给应用程序。
2) 主要说明Log4j2有强大的基于LMAX Disruptor library的异步日志功能。
3) 基于插件的软件架构,使得Log4j2更易于扩展,而不需会改变Log4j2自身的功能。也就是遵循了设计模式的一个重要原则,对修改封闭,对扩展开放。
4) 基于插件的配置文件更加简单,配置文件中的实体不必指定一个类名。--这一点暂时没有搞清楚。
5) 支持用户自定义的日志等级,在代码或者配置文件中都可以定义。
6) 支持lambda表达式。这是Java 8的新特性,不了解的同学可以查一下。
7) 支持消息对象。用户可以自由的创建他们自己的消息类型,写用户自定义的输出,过滤器和Lookups来操作这些消息类型。
8) 比Log4j1和Logback更加全面的过滤器,Log4j2可以在Logger处理前,处理中和到Appender后都添加过滤器。
9) 很多Logback Appenders不接收Layout参数,只用固定的格式发送数据。大多数的Log4j2的Appenders接收Layout参数,允许以任何预期的格式传送。
10) Log4j1和Logback中的Layouts都返回String类型值。这导致了Logback Encoders中讨论的一些问题。Log4j2用一个简单的方法,Layouts返回字节数组。这使得Log4j2的Layouts可以用于任何Appender,而不只是使用OutputStream写日志的Appenders。
11) Syslog Appender即支持TCP和UDP,同时还支持BSD syslog和RFC 5424格式。
12) Log4j2使用了Java 5对并发性的支持,而且可以在最低的等级执行枷锁操作。Log4j1中有很多死锁的问题。其中一些在Logback中得到了解决,但是很多Logback的类在相对高的层级,仍然需要同步保证。

13) Log4j2是Apache的项目,所以同所有的Apache软件基金会的支持方案相同。 按照Contributing路径下的步骤,就可以获得修改软件的许可。


3.常见问题
1)为什么要使用slf4j?(实战演示)
2)log4j怎么整合slf4j?(实战演示)

3)log4j2怎么整合slf4j?(实战演示)


4.解决方案


5.代码实战
总结:
1)jar包不同
A.log4j: log4j.jar

B.log4j2: log4j-api.jar  log4j-core.jar


2)构造函数不同
A.log4j: Logger.getLogger( )

B.log4j2: LoggerManager.getLogger( )


3)配置文件不同
A.log4j: 支持properties和xml

B.log4j2: 支持xml,json,yaml


6.扩展思考

1)为什么要以类名作为logger的名字?
以类名作为logger的名字可以快速定位产生日志的类,还可以更精确地对每个类的日志级别、输出目的地和输出样式进行调整。

2)日志中怎么抛出异常?


7.参考文献


8.更多讨论

logback怎么用


遇到的问题

暂无


明天的计划

1.讲小课堂

2.进复盘的PPT,预计周日晚7点评审


进度

禅道:http://task.ptteng.com/zentao/project-task.html



返回列表 返回列表
评论

    分享到