log4j

常见日志框架介绍及Spring日志框架优先级源码解析

微笑、不失礼 提交于 2020-02-19 00:21:50
在Java项目开发中,日志是必不可少的功能,日志对于快速定位问题,检查日常项目运行状态等有非常重要的作用,但是目前Java日志存在多种框架,如:Slf4j、JUL、JCL、Log4j、Log4j2、Logback等。 1. 常用日志框架 框架 简介 Slf4j 日志门面组件 JCL Commons Logging,简称jcl,Apache基金会项目,日志门面组件 Log4j Apache基金会项目,日志实现框架 Log4j 2 是Log4j的升级产品,但是与Log4j不兼容 Logback 日志实现框架 JUL java官方的日志实现框架 Java中可用的日志框架有很多,这样就导致一个选择困难问题,到底应该用哪一个框架,如果项目修改日志组件或者升级又该如何做。其实一般都会选择使用外观模式:日志门面组件+桥接器+日志实现框架,这样即使项目更换日志种类,只需更换桥接器和日志实现框架,也就是只更换Jar包就可以了,代码无需做任何改动。下图表示了日志门面组件、桥接器、日志时间框架之间的关系: 图上列举出了多种日志实现框架转换成Slf4j接口和Slf4j接口绑定多种日志实现框架所涉及到的相关Jar包。通过这些桥接包,我们可以轻松实现项目中日志框架的统一。对于哪些包需要引入/哪些包需要排除也就一目了然了。 2.SLF4J 简介 SLF4J 是一个简单易用的日志门面组件

log4j笔记

怎甘沉沦 提交于 2020-02-18 19:14:51
***************************2018年7月1日16:43:18 log4j Log4j笔记: Log4j(log for java)java日志文件 1.是Apache的一个开源项目; 2.是使用Java语言编写的一个日志框架; 03.用于记录程序中的日志信息; 04.可以将日志信息输出到控制台,文件等目的地。 编写 Log文件的作用: 01.记录变量的变化情况,易于我们后期代码维护和调试 02.周期性保存一些数据到文件中,以便于后续使用; 03.可以设置日志信息的级别,便于管理。 Log的日志组成部分 01日志记录器 02日志的输出格式 03日志的输出目的地 Err Warn Info Debug Truce Log4j的输出格式: %p : 日志信息的优先级 %d : 日志的输出时间 比如 %d{yyyy-MM-dd hh:mm:ss} %C : 输出日志信息的全类名 %l : 日志输出的位置,包含类名,线程和日志输出的行号 %m : 日志输出的信息 %M : 日志输入所在的方法 %n : 换行 %r : 从程序启动到输出日志信息,经历的时间(毫秒) %t : 输出日志信息的线程 01.指定日志信息输出到哪个地方 02.可以同时指定多个输出目的地 03.一个输出目的地就是一个Appender ===》一个类 Log4j的使用: 需要引入 jar包

Hibernate day04笔记

浪尽此生 提交于 2020-02-18 18:15:17
整合log4j(了解) slf4j 核心jar : slf4j-api-1.6.1.jar 。slf4j是日志框架,将其他优秀的日志第三方进行整合。 整合导入jar包 log4j 核心包:log4j-1.2.17.jar 过渡jar(整合jar):slf4j-log4j12-1.7.5.jar 导入配置文件 log4j.properties ,此配置文件通知log4j 如何输出日志 配置文件内容: 1.记录器 2.输出源 3.布局 记录器 例如: log4j.rootLogger=info, stdout,file 格式:log4j.rootLogger=日志级别, 输出源1,输出源2,。。。。 log4j 日志级别 : fatal 致命错误 error 错误 warn 警告 info 信息 debug 调试信息 trace 堆栈信息 (由高到底顺序) 输出源: 例如:log4j.appender.file=org.apache.log4j.FileAppender 格式:log4j.appender.输出源的名称=输出源的实现类 名称:自定义 实现类:log4j提供 输出源属性例如:log4j.appender.file.File=d\:mylog.log 输出源属性格式:log4j.appender.名称.属性=值 每一个输出源对应一个实现类,实现类都属性(setter)

logback日志框架依赖

丶灬走出姿态 提交于 2020-02-17 19:56:27
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.30</version> </dependency> slf4j本身不属于logback,但是logback一般结合sl4j使用 为什么使用logback而不使用log4j? 1.对于同样的代码路径logback执行起来更快 2.对配置文件进行热加载,就是项目运行过程中可以改掉logback的配置文件,让它自动生效 3.可以自动压缩日志 来源: CSDN 作者: xiaoxiao1777 链接: https://blog.csdn.net/xiaoxiao1777/article/details

Log4j学习

眉间皱痕 提交于 2020-02-17 15:40:34
Log4j学习 Log4j的作用和级别 log4j的作用 Log4j的级别 配置文件解释 Log4j自定义输出格式 Log4j的使用流程 Log4j的作用和级别 log4j的作用 什么是日志: 日志是系统运行过程中后台输出信息,方便程序员进行系统运行的管控以及Bug的查找 什么是Log4j? Log4j是一个日志输出的插件,专门用来进行日志管理的。 传统方式获取日志: 使用System.out.println()语句进行后台打印 问题: 1.日志信息文法保存 2.无法显示完整的日志信息 3.日志的显示没有级别,所有的日志混杂在一起显示(无法进行日志信息的筛选) 4.日志显示格式不友好 解决:使用Log4j 使用Log4j进行日志管理: 特点: 1.日志可以单独保存在文件中 2.可以获取完整日志信息 3.可以进行日志显示的筛选 4.格式友好 Log4j的级别 Log4j的日志级别: FATAI 致命的错误 ERROR 普通的错误 WARN 警告 INFO 信息(方法级别) DEBUG 调试(代码级别) 配置文件解释 Log4j的配置文件解释: 注意:配置文件一定要存放在src下,并命名为log4j.properties //设置全局默认配置 log4j.rootCategory=DEBUG, CONSOLE 日志级别,日志输出位置 /

logback配置

主宰稳场 提交于 2020-02-17 08:04:57
Logback 是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。   它当前分为下面下个模块:   logback-core:其它两个模块的基础模块   logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging   logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能 1、 根节点<configuration>属性 scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 <configuration scan="true" scanPeriod="30 seconds"> <!-- 设置上下文名称 --> <contextName>${project.artifactId}</contextName> <!-- 设置变量 --> <property

LogBack日志配置

北城余情 提交于 2020-02-17 05:22:33
程序中记录日志一般有两个目的   1、故障定位   2、显示程序运行状态 logback的主要模块   1、logback-access:与server容器集成,提供通过http来访问日志的功能   2、logback-classic:是log4j的改良版本,完整的实现了slf4j api可以很方便的更换其他的日志系统   3、logback-core:为logback-access与logback-classic提供了基础的服务 logback的主要标签   1、logger:日志的记录器,主要用于存放日志对象,定义日志的类型、级别   2、appender:指定日志输出的目的地(控制台、文件、远程套接字服务器等)   3、layout:格式化日志信息的输出 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 3 当scan为true时,配置文件发生改变,将会被重新加载,默认为true; 4 scanPeriod 设置 监测配置文件是否有修改时间的时间间隔,如果没有时间单位,默认时间单位为毫秒,当scan为true时,这个属性就生效; 5 debug 当该属性设置为true时,将会打印出logback内部的日志信息,实时查看logback的运行状态 6 --> 7 <configuration scan = "true"

JAVA中的Log4j

半世苍凉 提交于 2020-02-16 21:32:31
Log4j的简介: 1.如果程序中出现异常我们怎么解决    01 使用异常处理机制==>异常    02 使用debug调试(必须掌握)   03 System.out.Print(); 001.控制台行数有限制 002.影响性能 003 如果我们需要对用户的行为和习惯进行分析!不能解决这个问题 我们需要一个能把记录用户行为和习惯的代码记录到一个文件中 Log4j:(Log for Java) 01.是使用java语言编写的一个日志框架 02.是Apache的一个开源项目 03.记录我们程序中的日志信息 04.将日志信息输出到我们指定的目的地 .log结尾的(日志文件); Log4j的作用: 01.记录代码中变量的变化,用于我们的程序调试和后期维护. 02.可以周期性的保存一些数据,用于后期对数据的分析 03.通过设置日志信息的级别,来便于我们管理 Log4j的组成部分:(日志的记录器(Logger),日志的输出格式(Layout),3.日志的输出目的地(Appender)) 1.日志的记录器(Logger) 日志的输出级别 OFF 级别最高,用于关闭所有的日志输出 ALL 级别最低,用于开启所有的日志输出 ----------------------------------------------------------------------------------

How to change log level in spark?

我是研究僧i 提交于 2020-02-16 10:40:10
问题 I tried all this methods and nothing works : In log4j file - log4j.logger.org=OFF log4j.rootCategory=ERROR, console log4j.rootCategory=OFF, console In code : #option 1 Logger.getLogger("org.apache.spark").setLevel(Level.OFF) #option 2 sparkContext.setLogLevel("OFF") #option 3 val rootLogger: Logger = Logger.getRootLogger() rootLogger.setLevel(Level.OFF) And yes also tried by putting it after spark context object also before.Nothing seems working. What am I missing ? Or Is there another way to

Mybatis环境搭建

穿精又带淫゛_ 提交于 2020-02-15 19:43:00
依赖 <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.16</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> </dependencies> resources 中的配置 SqlMapConfig.xml (可以取别的名字) 根配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration