黑马程序员——javase进阶——day07——日志框架、阶段项目

目录:

  1. 日志框架
    1. 日志技术的概述
    2. 日志技术体系结构
    3. Logback概述
    4. Loaback快速入门
    5. Logback配置详解-输出位置、格式设置
    6. Logback配置详解-日志级别设置
  2. 阶段项目实战
    1. 电影购票系统简介、项目功能演示
    2. 日志框架搭建、系统角色分析
    3. 首页设计、登录、商家界面、用户界面实现
    4. 商家-详情页设计、影片上架、退出
    5. 商家-影片下架、影片修改
    6. 用户-展示全部影片
    7. 用户-购票功能
    8. 用户-评分功能
    9. 用户-评分降序展示(学生作业)
    10. 用户-根据片名查询全部影片信息(学生作业)

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的开发步骤是怎么样的?

  1. 在项目下新建文件夹lib,导入Logback的相关jar包到该文件夹下,并添加到项目库中去。
  2. 必须将Logback的核心配置文件logback.xml直接拷贝到src目录下。
  3. 在代码中获取日志的对象
  4. 使用日志对象输出日志信息 
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>>存放商家和其排片信息。
  • 准备一些测试数据。
首页设计、登录、商家界面、用户界面实现
  • 首页需要包含登录,商家注册,客户注册功能。
  • 商家和客户可以共用一个登录功能。
  • 判断登录成功的用户的真实类型,根据用户类型完成对应的操作界面设计。
商家-详情页设计、影片上架、退出
  • 展示本商家的信息和其排片情况。
  • 提供左型乘动能:就是创建一个影片对象,存入到商家的集合中去。
  • 退出,需要回到登录的首页。
商家-影片下架、影片修改
  • 提供影片下架功能:其实就是从商家的集合中删除影片对象。
  • 影片修改功能:拿到需要修改的影片对象,修改里面的数据。
用户-展示全部影片
  • 其实就是遍历全部商家和其排片信息并展示出来。
用户-购票功能
  • 用户可以选择需要购买票的商家和其电影信息。
  • 可以选择购买的数量。
  • 购买成功后需要支付金额,并更新商家金额和客户金额
用户-评分功能
  • 用户只能对自己已经购买过的电影进行评分。
  • 需要在当前用户对象中记录购买的电影信息(包括是否已经评价过)。
  • 每部电影的评分信息应该是系统所有用户评分的平均值。
  • 应该在系统定义一个集合存储每部电影的评分详情。
用户-评分降序展示(学生作业)
用户-根据片名查询全部影片信息(学生作业)

 

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿瞒有我良计15

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值