探索Java的日志世界

探索Java的日志世界本文的思维导图一、主题打开日志的大门,探索的Java日志世界二、目标了解常用的日志框架掌握日志框架的选择和使用以及开发规范了解日志框架中的一些设计思想三、内容1、日志及日志框架简介1.1 、日志简介1.1.1 、 什么是日志?1)基本字义是指工作日志 ,详细介绍一个过程和经历的记录。 日志(汉语词汇)…

大家好,又见面了,我是全栈君。

探索Java的日志世界探索Java的日志世界

本文的思维导图

一、主题

打开日志的大门,探索的Java日志世界

二、目标

  1. 了解常用的日志框架
  2. 掌握日志框架的选择和使用以及开发规范
  3. 了解日志框架中的一些设计思想

三、内容

1、日志及日志框架简介

1.1 、日志简介

1.1.1 、 什么是日志?

1)基本字义是指工作日志 ,详细介绍一个过程和经历的记录。 日志(汉语词汇)

2)网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述。 日志(计算机术语)

: ==日志可以是有价值的信息宝库,也可以是毫无价值的数据泥潭==。

1.1.2. 、什么是Java日志?

Java日志:Java应用程序在运行过程中记录的一些数据信息

如访问的程序中某个接口的时间,请求参数、响应参数等等。

1.2、从System.out.println() 打开Java日志的大门

public static void main(String[] args) {
        System.out.println("hello sitech");
}

优点

使用方便和简单!

缺点

  1. 只能输出到控制台,不能输出到文件!
  2. 不能自定义全局的输出格式!(日志级别、日志切割/自动归档、异步打印日志等)
  3. 性能较低,如 println了 synchronized!

1.3、日志框架的简介

Java常用的日志框架对比和深入分析

日志家族的成员

commons-logging和slf4j都只是一个日志标准,并不是日志系统的具体实现

log4j,logback等等才是日志的真正实现。

2、如何选择及使用日志框架

2.1、如何选择?

接口选一个 、实现选一个实现,组合!
日志门面/接口: SLF4J(即简单日志门面(Simple Logging Facade for Java) );
日志实现:Logbacklog4j

2.2、 如何使用?

2.2.1 、单一日志框架通过slf4J使用 SLF4J user manual(用户使用手册)

注: 每个日志框架的实现都有自己的配置文件。使用slf4j以后,配置文件还是框架自己本身的配置文件;

  1. 导入对应的jar

  2. 编写相应实现的配置文件

  3. 使用slf4j编写日志代码

2.2.2、 在复杂系统如何统一所有的日志都统一到slf4J;legacy APIs
  1. 将系统中其他日志框架先排除出去;
  2. 用中间包来替换原有的日志框架;
  3. 我们导入slf4j其他的实现

2.3、例子

  1. 简单实现slf4j + log4J
  2. 简单实现slf4j + logback
  3. log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析
  4. 解决办法

log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

log4jDelegationLoop

3、 日志开发规范

参考 阿里巴巴Java开发手册(终极版).pdf – 日志规范

4、Slf4j使用到的设计模式

4.1 、设计模式

  1. 工厂模式
  2. 外观模式门面模式
  3. 桥接模式
  4. …..

4.2 、 源码解析

四、 总结和讨论

1、总结

本次分享是Java日志的整体的介绍,其实日志开发中还有很多的细节需要关注!

比如日志的详细使用:日志配置文件编写,日志输出的格式语法,日志输出的级别,日志滚动策略等等

比如日志的设计思想:设计模式、加载原理等等

本此分享只是一个抛砖引玉的过程,日志的相关知识还是特别的多,希望后面大家可以分享出更精彩更深入的日志知识和使用技巧。

2、讨论

1、什么情况下,哪些数据信息需要记录日志?

  • 请求参数
  • 返回参数
  • 时间
  • 服务器IP(分布式)

2、大家谈一下实际日志开发中一些经验技巧?

  • 分布日志排查不方便 –统一日志平台(集中日志收集)ELK
  • 统一日志平台:对日志格式有一定要求
  • 日志文件数据(服务调用日志)

附录

Asynchronous Loggers for Low-Latency Logging:性能对比

log4j2使用介绍

关于日志记录的一些感想

Java日志框架:slf4j作用及其实现原理


如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到,谢谢!

如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页 : http://blog.csdn.net/u010648555

© 每天都在变得更好的阿飞

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121067.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月27日 下午6:00
下一篇 2022年2月27日 下午6:00


相关推荐

  • 使用OpenClaw搭建个人AI助手(QQ)

    使用OpenClaw搭建个人AI助手(QQ)

    2026年3月13日
    2
  • xshell如何激活_xftp6使用教程

    xshell如何激活_xftp6使用教程市面上连接服务器的客户端有很多,有免费的,也有收费的。有国产的也有非国产的。每个人使用的都不一样。很多也使用过,比如putty免费的,但是在我使用看来,使用一会就卡顿住了,最后就是需要重新连接,怎么用都不是很方便,最后还是的使用回来xshell和xftp。下面就来演示下如何安装xshell和xftp。首先是下载xshell和xftp的软件安装包。其实下载这个安装包是非常简单的,但是不简单的是如何下载一个真的能用的安装包。其次就是安装了。安装其实也是非常的简单的。下一步,下一步就可以完成.

    2025年10月9日
    7
  • 自带win10系统换win7的那些坑

    自带win10系统换win7的那些坑自带win10系统换win7的那些坑 这两天真是经历了一个换系统的巨坑。如果说这次换系统是一部历史的话那也一定是一部血泪史。今日4000多字的记录会把这部血泪史中的血和泪一一道出。不为别的只为:前车之鉴后事之师! 首先我对win10系统本身就很不喜欢,因为它不稳定兼容性差,还经常更新,用户总是给微软当小白鼠进行测试系统。之前就一直吐槽win10的自动更新无法…

    2022年6月4日
    50
  • idea怎么远程debug_idea 多线程调试

    idea怎么远程debug_idea 多线程调试1,远程DEBUG的必要性由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可..

    2025年10月24日
    5
  • GFS – The Google File System

    GFS – The Google File SystemTheGoogleFileSystemhttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.789&rep=rep1&type=pdfhttp://www.dbthink.com/?p=501,中文翻译 Google牛人云集的地方,但在设计系统时,却非常务实,没有采用什么复杂和时髦…

    2022年6月1日
    49
  • AIR Android应用开发实战

    AIR Android应用开发实战AIRAndroid 应用开发实战 基本信息作者 邱彦林 作译者介绍 出版社 机械工业出版社 ISBN 77 上架时间 2012 8 10 出版日期 2012 年 8 月开本 16 开页码 1 版次 1 1 所属分类 计算机 gt 软件与程序设计 gt 移动开发 gt Android 更多关于 AIRAndroid 应用开发实战 内容简介书籍计算机书籍 air

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号