探索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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 分类模型评估之ROC-AUC曲线和PRC曲线

    分类模型评估之ROC-AUC曲线和PRC曲线http://blog.csdn.net/pipisorry/article/details/51788927ROC曲线和AUCROC(ReceiverOperatingCharacteristic,接受者工作特征曲线)曲线和AUC常被用来评价一个二值分类器(binaryclassifier)的优劣。博文介绍ROC和AUC的特点,讨论如何作出ROC曲线图以及计算AUC。AUC是现…

    2022年5月17日
    56
  • Arthas – Java 线上问题定位处理的终极利器「建议收藏」

    Arthas – Java 线上问题定位处理的终极利器「建议收藏」前言在使用Arthas之前,当遇到Java线上问题时,如CPU飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后jps、jstack、jmap、jhat、jstat、hprof等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用Arthas轻松定位,迅速解决,及时止损,准时下班。1、Arthas介绍Arthas是Alib…

    2025年8月22日
    6
  • 十大经典排序算法详解(三)-堆排序,计数排序,桶排序,基数排序[通俗易懂]

    十大经典排序算法详解(三)-堆排序,计数排序,桶排序,基数排序[通俗易懂]十大经典排序算法-堆排序,计数排序,桶排序,基数排序1-堆排序算法思想:算法图解:示例代码:在这里插入代码片复杂度分析:2-计数排序算法思想:算法图解:示例代码:在这里插入代码片复杂度分析:3-桶排序算法思想:算法图解:示例代码:在这里插入代码片复杂度分析:4-基数排序算法思想:算法图解:示例代码:在这里插入代码片复杂度分析:…

    2022年7月12日
    16
  • ORA-00607 Internal error occurred while making a change to a data block处理[通俗易懂]

    ORA-00607 Internal error occurred while making a change to a data block处理[通俗易懂]这个问题是我模拟的故障,具体怎么出现的请参考链接https://blog.csdn.net/m15217321304/article/details/105223487–//查看数据库日志RecoveryofOnlineRedoLog:Thread1Group3Seq24Readingmem0Mem#0:/u01/app/oradata/QXY1…

    2025年7月20日
    4
  • ExtJs自学教程(1):从一切API开始

    ExtJs自学教程(1):从一切API开始

    2021年12月17日
    35
  • 从零开始学Android_数学从零开始要学多久

    从零开始学Android_数学从零开始要学多久1环境搭建如果可以翻墙,环境搭建不是什么大问题,如果不能翻墙,则搭建环境比较困难。首先,我们根据网上的教程安装JDK。然后安装Androidstudio,最后进行一些配置,具体可以参考如下链接:https://jingyan.baidu.com/article/36d6ed1f9031bc1bcf4883f7.html。如果是国内环境,需要配置相关的国内镜像和仓库。有条件的话还是选择VPN的方…

    2022年4月20日
    44

发表回复

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

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