目录:
- 日志框架
- 日志技术的概述
- 日志技术体系结构
- Logback概述
- Loaback快速入门
- Logback配置详解-输出位置、格式设置
- Logback配置详解-日志级别设置
- 阶段项目实战
- 电影购票系统简介、项目功能演示
- 日志框架搭建、系统角色分析
- 首页设计、登录、商家界面、用户界面实现
- 商家-详情页设计、影片上架、退出
- 商家-影片下架、影片修改
- 用户-展示全部影片
- 用户-购票功能
- 用户-评分功能
- 用户-评分降序展示(学生作业)
- 用户-根据片名查询全部影片信息(学生作业)
1.日志框架
日志技术的概述
想清楚的知道一个系统运行的过程和详情怎么办?
日志
- 生活中的日志:生活中的日志就好比日记,可以记录你生活的点点滴滴。
- 程序中的日志:程序中的日志可以用来记录程序运行过程中的信息,并可以进行永久存储。
以前记录日志的方式
输出语句的弊端
- 信息只能展示在控制台
- 不能将其记录到其他的位置(文件,数据库)
- 想取消输出语句需要修改代码才可以完成
日志技术具备的优势
- 可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)。
- 可以随时以开关的形式控制是否记录日志,无需修改源代码。
日志技术的具体优势?
日志技术体系结构
- 日志规范:一些接口,提供给日志的实现框架设计的标准。
- 日志框架:牛人或者第三方公司已经做好的日志记录实现代码,后来者直接可以拿去使用。
- 因为对Commons Logging的接口不满意,有人就搞了SLF4J。因为对Log4j的性能不满意,有人就搞了Logback
- 日志的规范是什么,常见的有几种形式。
- 日志规范大多是一些接口,提供给实现框架去设计的。
- 常见的规范是:
- Commons Logging
- Simple Logging Facade for Java
- 日志的实现框架有哪些常见的?
- Log4J
- Logback(我们重点学习的,其他的都大同小异)
Logback概述
Logback日志框架
- Logback是由log4j创始人设计的另一个开源日志组件,性能比log4j要好
- 官方网站:https://logback.qos.ch/index.html
- Logback是基于slf4j的日志规范实现的框架。
Logback主要分为三个技术模块:
- logback-core: logback-core模块为其他两个模块奠定了基础,相当于入口,必须有
- logback-classic:它是log4j的一个改良版本,核心功能模块,同时它完整实现了slf4j API。
- logback-access模块与Tomcat和Jetty等 Servlet容器集成,以提供 HTTP访问日志功能
Loaback快速入门
需求:导入Logback日志技术到项目中,用于纪录系统的日志信息
分析:
①:在项目下新建文件夹lib,导入Logback的相关jar包到该文件夹下,并添加到项目依赖库中去。
②:将Logback的核心配置文件logback.xml直接拷贝到src目录下(必须是src下)。
③:在代码中获取日志的对象
public static final Logger LOGGER = LoggerFactory.getLogger("哪一个类的日志");
④:使用日志对象LOGGER调用其方法输出不能的日志信息
使用Logback的开发步骤是怎么样的?
- 在项目下新建文件夹lib,导入Logback的相关jar包到该文件夹下,并添加到项目库中去。
- 必须将Logback的核心配置文件logback.xml直接拷贝到src目录下。
- 在代码中获取日志的对象
- 使用日志对象输出日志信息
Logback配置详解-输出位置、格式设置
Logback日志系统的特性都是通过核心配置文件logback.xml控制的。
Logback日志输出位置、格式设置:
- 通过logback.xml 中的<append>标签可以设置输出位置和日志信息的详细格式。
- 通常可以设置2个日志输出位置:一个是控制台、一个是系统文件中
输出到控制台的配置标志(记录红色字体即可)
输出到系统文件的配置标志(记录红色字体即可)
在核心配置文件Logback.xml中可以配置的日志方向有哪些?
输出到控制台的配置标志
输出到系统文件的配置标志
Logback配置详解-日志级别设置
如果系统上线后只想记录一些错误的日志信息或者不想记录日志了,怎么办?
- 可以通过设置日志的输出级别来控制哪些日志信息输出或者不输出。
日志级别
- 级别程度依次是:TRACE< DEBUG<INFO<WARN <ERROR;默认级别是debug(忽略大小写),对应其方法。
- 作用:用于控制系统中哪些日志级别是可以输出的,只输出级别不低于设定级别的日志信息。
- ALL和OFF分别是打开全部日志信息,及关闭全部日志信息。
具体在<root level= "INFO”>标签的level属性中设置日志级别。
1、设置日志输出级别的作用是什么?
- 用于控制系统中哪些日志级别是可以输出的。
2、Logback的日志级别是什么样的?
- 级别程度依次是:TRACE< DEBUG< INFO<WARN<ERROR
- 默认级别是debug (忽略大小写),只输出不低于当前级别的日志
- ALL和OFF分别是打开全部日志和关闭全部日志
2.阶段项目实战
电影购票系统简介、项目功能演示
黑马电影购票系统技术选型分析:
学习本项目,你将至少得到如下收获:
日志框架搭建、系统角色分析
- 集成日志框架、用于后期记录日志信息。
- 定义一个电影类Movie类,Movie类包含:片名、主演、评分、时长、票价、余票
- 系统包含2个用户角色:客户、商家。存在大量相同属性信息。
- 定义User类作为父类,属性:登录名称、密码、真实名称、性别、电话、账户金额
- 定义Business类代表商家角色,属性:店铺名称、地址。
- 定义Customer类代表客户角色,属性:
- 定义集合List<User>用户存放系统注册的用户对象信息。
- 定义集合Map<Business, List<Movie>>存放商家和其排片信息。
- 准备一些测试数据。
首页设计、登录、商家界面、用户界面实现
- 首页需要包含登录,商家注册,客户注册功能。
- 商家和客户可以共用一个登录功能。
- 判断登录成功的用户的真实类型,根据用户类型完成对应的操作界面设计。
商家-详情页设计、影片上架、退出
- 展示本商家的信息和其排片情况。
- 提供左型乘动能:就是创建一个影片对象,存入到商家的集合中去。
- 退出,需要回到登录的首页。
商家-影片下架、影片修改
- 提供影片下架功能:其实就是从商家的集合中删除影片对象。
- 影片修改功能:拿到需要修改的影片对象,修改里面的数据。
用户-展示全部影片
- 其实就是遍历全部商家和其排片信息并展示出来。
用户-购票功能
- 用户可以选择需要购买票的商家和其电影信息。
- 可以选择购买的数量。
- 购买成功后需要支付金额,并更新商家金额和客户金额
用户-评分功能
- 用户只能对自己已经购买过的电影进行评分。
- 需要在当前用户对象中记录购买的电影信息(包括是否已经评价过)。
- 每部电影的评分信息应该是系统所有用户评分的平均值。
- 应该在系统定义一个集合存储每部电影的评分详情。
用户-评分降序展示(学生作业)
用户-根据片名查询全部影片信息(学生作业)