Java公开课-05.log4j

简介:                 log4j 一,log4j简介   1.如果程序中出现异常,我们怎么解决?     01.使用异常处理机制===》异常    (但是使用原则是,能不用异常处理机制,最好不用,怎么办?)     02.

                log4j

一,log4j简介

  1.如果程序中出现异常,我们怎么解决?

    01.使用异常处理机制===》异常    (但是使用原则是,能不用异常处理机制,最好不用,怎么办?)

    02.通过debug调试          (必须掌握)

    03.通过System.out.print();

      但是:001.控制台有行数限制

         002.影响我们的系统性能

         003.如果我们要对用户的行为习惯进行分析

  2.我们需要一个把记录用户行为和习惯的代码,记录在一个文件中!

    .log(日志文件)

  3.log4j:(log for Java)

    01.是用java语言编写的一个日志框架

    02.是Apache的一个开源项目

    03.记录我们程序中的日志信息

    04.可以将日志信息输出到我们指定的目的地

  4.log4j的作用

    01.记录代码中变量的变化,用于我们程序的调试和后期维护

    02.可以周期性的保存一些数据,用于后期对数据的分析

    03.通过设置日志信息的级别,来便于我们的管理

二,log4j的组成部分

  1.日志的记录器(logger)

    日志的输出级别

      OFF  级别最高,用于关闭所有的日志输出

      ALL  级别最低,用于开启所有的日志输出

 

      Fatel  严重的错误事件,将导致我们的程序终止

      Error  错误事件,不会影响我们的程序的继续执行

      Warn  可能存在潜在的错误场景

      Info  指的是粗粒度级别上的使用

      Debug  指的是细粒度级别上的使用

      Trace  比Debug还要细的

    开发环境(开发阶段):  使用日志级别比较低:Debug

    生产环境(项目上线):  建立把Debug细粒度的设置成Warn

  2.日志的输出格式(Layout)

    %p  日志信息的优先级

    %d  日志信息的输出时间  %d(yyyy-MM-dd hh:mm:ss)

    %C  日志信息输出的类

    %l  日志信息的输出位置:类+线程+行号

    %M  日志信息的输出所在方法

    %m  日志信息的输出内容

    %n  输出日志信息之后换行

 

    %t  日志信息的输出所在线程

    %r  从程序启动到输出日志信息所经历的时间(毫秒)

  3.日志的输出目的地(Appender)

    01.把我们的日志信息输出到某个地址

    02.可以同时指定多个输出地

    03.一个输出地对应一个Appender

 

    将日志输出到Console控制台中=====》ConsoleAppender

    将日志输出到文件中

      =====》01.RollingFileAppender    根据文件大小创建新的日志文件

      =====》02.DailyRollingFileAppender  根据时间创建新的日志文件

三,重点log4j的使用

  1.创建Java项目

  2.在项目中创建lib文件夹

  3.把我们事先下载好的jar包引到我们lib中

  4.右键点击  jar builder path  加入到我们项目中

  5.创建测试类 书写我们的测试代码(logger)

  6.创建source folder

  7.在resource文件夹中创建需要的log4j.properties      (log4j.properties名字固定,不能随便命名,因为底层默认找这个)

  8.书写配置

    01.输出到Console控制台

    02.输出到文件中,根据文件大小自动创建

    03.书写到文件中,根据文件时间自动创建

 

    DailyRollingFileAppender中的DatePattern共分为6种方式

      001.每月    yyyy-MM

      002.每周    yyyy-ww

      003.每天    yyyy-MM-dd

      003.每半天    yyyy-MM-dd-a

      004..每小时    yyyy-MM-dd-hh

      005.每分钟    yyyy-MM-dd-hh-mm

 

改天我传一个完整的书写配置的代码。今天就先溜了

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
Java Apache 开发工具
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
264 1
|
11月前
|
SQL druid Oracle
【YashanDB知识库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIER start异常
客户Java日志中出现异常,影响Druid的merge SQL功能(将SQL字面量替换为绑定变量以统计性能),但不影响正常业务流程。原因是Druid在merge SQL时传入null作为dbType,导致无法解析递归查询中的`start`关键字。
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
2998 8
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
XML JSON Java
Java中Log级别和解析
日志级别定义了日志信息的重要程度,从低到高依次为:TRACE(详细调试)、DEBUG(开发调试)、INFO(一般信息)、WARN(潜在问题)、ERROR(错误信息)和FATAL(严重错误)。开发人员可根据需要设置不同的日志级别,以控制日志输出量,避免影响性能或干扰问题排查。日志框架如Log4j 2由Logger、Appender和Layout组成,通过配置文件指定日志级别、输出目标和格式。
|
人工智能 Oracle Java
解决 Java 打印日志吞异常堆栈的问题
前几天有同学找我查一个空指针问题,Java 打印日志时,异常堆栈信息被吞了,导致定位不到出问题的地方。
377 2
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
229 7
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
368 7
|
Java 应用服务中间件 HSF
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
153 3
|
存储 Web App开发 Java
《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)
【7月更文挑战第13天】这篇文章介绍了如何在Java中创建一个简单的自定义日志系统,以替代Log4j或logback。
490 5
|
XML Java 测试技术
《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)
【7月更文挑战第9天】在Java项目中,使用Logback配置可以实现日志按照不同包名输出到不同的文件,并且根据日志级别分开记录。
266 4