CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
Module 3. Java Professional
级别 5
为什么 Java 需要日志
模块 3
第 5 级,
课程 0
1.1 日志介绍 日志是已发生事件的列表。几乎就像一本航海杂志或日记。那么,相应地,记录器是一个可以用来记录的对象。在编程中,习惯上记录几乎所有内容。在 Java 中,一切都是这样,甚至更多。 事实上,Java 程序通常是没有 UI、控制台等的大型服务器应用程序。他们同时处理来自数千个用户的请求,经常会出现各种错误。特别是当不同的线程开始相互干扰时。 而且,事实上,在这种情况下找到很少重现的错误和故障的唯一方法是将每个线程中发生的所有事情写入日志/文件。 大多数情况下,有关调
Java 中的日志历史记录
模块 3
第 5 级,
课程 1
2.1 第一个记录器——log4j 如您所知,日志的历史始于System.err.println()向控制台输出一条记录。它仍然积极用于调试,例如,Intellij IDEA 使用它向控制台显示错误消息。但是这个选项没有任何设置,所以让我们继续。 第一个也是最受欢迎的记录器被称为Log4j. 这是一个很好的、高度可定制的解决方案。由于各种情况,这个决定没有进入 JDK,这极大地扰乱了整个社区。 这个记录器不仅能够记录,它是由程序员为程序员创建的,并允许他们解决与日志记录相关的
事件级别
模块 3
第 5 级,
课程 2
3.1 事件级别列表 日志记录是记录程序运行时发生的任何事件的过程。你作为程序员的职责是запротоколировать все важное,因为那样的话,当production出现奇怪和/或严重的错误时,除了这些日志之外你将一无所有。 如果您掌握了有关错误的所有信息以及所有调用历史记录,那么消除任何错误的速度将快很多倍。但是从这里可以得出一个简单的结论 - 记录一般的一切:所有方法的调用,所有参数的值。 这也不是一个选择——信息太多和太少一样糟糕。我们需要智能日志记录。
设置日志记录级别
模块 3
第 5 级,
课程 3
4.1 日志级别列表 您编写了程序,将其上传到服务器,然后您立即开始有疑问: 如何确保debug()该方法在工作时不起作用production? 日志中的信息太多,是否只留下错误信息? 如何查看应用程序某一部分的详细日志? 当然,日志的创建者几十年前就面临过同样的事情。我不会告诉你这个问题在C语言中是如何解决的,但是在Java语言中却非常漂亮地解决了。 日志在将信息写入. 您可以通过设置日志记录级别非常快速地减少/增加日志的详细信息。下表描述了这些级别: 等级 笔记 1个 全
Log4j 中的日志过滤器
模块 3
第 5 级,
课程 4
5.1 过滤器列表 记录器允许您非常酷地配置消息过滤。为此,他有几十个带有各种参数的过滤器。下表显示了最受欢迎的。 过滤器 描述 1个 突发滤波器 允许您控制给定日志记录级别的每秒消息频率。 2个 复合过滤器 允许您设置多个顺序过滤器。 3个 动态阈值滤波器 如果在日志中找到某些信息,允许您启用详细日志记录。 4个 地图过滤器 允许您从多个参数为过滤器构建复杂的逻辑表达式。 5个 标记过滤器 允许您按标签过滤消息,必须在事件记录期间首先添加标签。 6个 正则过滤器 允许您设置
Log4j 中的附加程序
模块 3
第 5 级,
课程 5
附加程序列表 记录器允许您一次将数据保存到多个文件中。这样的输出数据流被称为appender(来自append)。有很多标准的 appender,所以我们只介绍最流行的: 附加程序 描述 1个 安慰 将数据打印到控制台 2个 文件 将数据输出到文件 3个 每日滚动文件 输出数据到文件,文件被循环覆盖 4个 异步 允许您将数据异步写入另一个附加程序 5个 插座 将数据写入特定套接字 6个 JDBC 使用 JDBC 协议将消息写入数据库 7 JPA 使用 JPA 协议将消息写入数
Log4Shell 漏洞
模块 3
第 5 级,
课程 6
7.1 丑闻 当然,不可能不讲述最近发生的故事——发生在 2021 年底。 美国网络安全和基础设施保护局 (CISA) 表示,该问题Log4Shell是历史上最严重的漏洞之一。是的,我们正在谈论我们最喜欢的图书馆log4j。 我们舒适的小图书馆log4j 和历史上最大的漏洞?感兴趣吗?然后听。 7.2 灾害规模 Log4ShellLunasec 安全专家于 2021 年 12 月 9 日宣布发现了一个严重漏洞(代码 CVE-2021-44228)。Apache Securit
相关项目:测试和日志记录
模块 3
第 5 级,
课程 7
这个程序是对跑马场的模仿 首先,与之前的项目一样,从存储库中创建一个分支:https://github.com/CodeGymCC/hippodrome,然后自己克隆这个分支。 您的任务是添加测试和日志记录。 所需测试列表 在下面的列表中,每个项目都必须作为单独的测试方法来实现。在为测试方法起名字时,尽量简洁,但同时,这样你就可以大致了解它们到底在测试什么。例如,比较这两个测试结果: 在第二种情况下,更难理解什么样的测试没有通过,您将不得不查看日志。 1.马类: 构造器
Please enable JavaScript to continue using this application.