log4j日志级别

3.3.3 LOG4J

匿名 (未验证) 提交于 2019-12-02 23:33:01
LOG4J 1. log4j 简介 log4j 是 Apache 提供的一款记录日志的工具 log4j 既可以将日志信息打印在控制台, 也可以打印输出到一个日志文件中. log4j 可以定制日志的输出格式 log4j 可以定制日志级别 FATAL:致命的, 表示非常严重的错误, 一般是系统错误 ERROR:错误, 表示代码错误, 比较严重 WARN:警告, 不影响程序的运行, 但是可能存在风险. INFO:信息, 表示一个普通的输出信息 DEBUG:调试, 表示程序员人为的一些调试信息 log4j-1.2.17.jar log4j-api-2.0-rc1.jar log4j-core-2.0-rc1.jar 设置信息, 例如日志级别, 日志输出方式, 日志格式等等. # INFO # log4j.rootCategory=DEBUG, CONSOLE log4j . rootCategory = DEBUG , , # # log4j . appender . CONSOLE = org . apache . log4j . ConsoleAppender # layout log4j . appender . CONSOLE . layout = org . apache . log4j . PatternLayout # - % m % c % l%m % n log4j .

3.3.3 LOG4J

匿名 (未验证) 提交于 2019-12-02 23:32:01
LOG4J 1. log4j 简介 log4j 是 Apache 提供的一款记录日志的工具 log4j 既可以将日志信息打印在控制台, 也可以打印输出到一个日志文件中. log4j 可以定制日志的输出格式 log4j 可以定制日志级别 FATAL:致命的, 表示非常严重的错误, 一般是系统错误 ERROR:错误, 表示代码错误, 比较严重 WARN:警告, 不影响程序的运行, 但是可能存在风险. INFO:信息, 表示一个普通的输出信息 DEBUG:调试, 表示程序员人为的一些调试信息 log4j-1.2.17.jar log4j-api-2.0-rc1.jar log4j-core-2.0-rc1.jar 设置信息, 例如日志级别, 日志输出方式, 日志格式等等. # INFO # log4j.rootCategory=DEBUG, CONSOLE log4j . rootCategory = DEBUG , , # # log4j . appender . CONSOLE = org . apache . log4j . ConsoleAppender # layout log4j . appender . CONSOLE . layout = org . apache . log4j . PatternLayout # - % m % c % l%m % n log4j .

springboot---整合druid连接池---连接oracle数据库---整合mybatis---整合thymeleaf---日志配置

青春壹個敷衍的年華 提交于 2019-12-02 22:04:29
springboot---整合druid连接池---连接oracle数据库---整合mybatis---整合thymeleaf---日志配置 在新建的springboot项目pom文件中新添druid连接池的依赖 在application.properties配置文件中添加配置 配置静态文件目录和模板文件目录 在新建的springboot项目pom文件中新添druid连接池的依赖 <!-- druid数据库连接池 --> < dependency > < groupId > com.alibaba </ groupId > < artifactId > druid-spring-boot-starter </ artifactId > < version > 1.1.9 </ version > </ dependency > 在application.properties配置文件中添加配置 #spring.datasource.druid.driver-class-name=oracle.jdbc.driver.OracleDriver 可配可不配,阿里的数据库连接池会通过url自动搜寻 spring.datasource.druid.url=jdbc : oracle : thin : @localhost : 1521 : orcl spring.datasource

java异常处理

匿名 (未验证) 提交于 2019-12-02 21:53:52
错误处理 Java的异常 异常 Java使用异常Exception来表示错误 Exception是Class,带有类型信息 可以在任何地方抛出 只需要在上层捕获,和方法调用分离 必须捕获的异常称为Checked Exception 不需要捕获的异常包括RuntimeException和Error 捕获异常使用try...catch 不捕获的Checked Exception必须用throws声明 main()是最后捕获异常的机会 捕获异常 捕获异常使用try...catch catch会捕获对应的Exception及其子类 多个catch子句从上到下匹配 顺序非常重要,子类必须在前 finally保证有无错误都会执行 finally可选 使用multi-catch捕获多种类型异常 抛出异常 异常从下往上抛出,直至被捕获 打印方法调用栈:printStackTrace() 用throw语句抛出异常 转换异常时注意保留原始异常信息 抛出异常前会保证执行finally finally如果抛出异常会导致suppressed exception 获取所有异常信息:getSuppressed() 自定义异常 尽量使用JDK已定义异常 自定义异常从RuntimeException派生 先定义BaseException,再派生子类 自定义异常应该提供多个构造方法

log4j2配置文件log4j2.xml

匿名 (未验证) 提交于 2019-12-02 21:52:03
  最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置( 使用Slf4j集成Log4j2构建项目日志系统的完美解决方案 )以及log4j2配置文件的详解,就需要我们来好好聊一聊了。本文就专门来讲解下log4j2.xml配置文件的各项标签的意义。   1.关于配置文件的名称以及在项目中的存放位置     log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn".     系统选择配置文件的优先级(从先到后)如下:       (1).classpath下的名为log4j2-test.json 或者log4j2-test.jsn的文件.       (2).classpath下的名为log4j2-test.xml的文件.       (3).classpath下名为log4j2.json 或者log4j2.jsn的文件.       (4).classpath下名为log4j2.xml的文件.      我们一般默认使用log4j2.xml进行命名。如果本地要测试,可以把log4j2-test.xml放到classpath,而正式环境使用log4j2.xml,则在打包部署的时候不要打包log4j2-test

SpringBoot 异步输出 Logback 日志

匿名 (未验证) 提交于 2019-12-02 21:52:03
1.1 Logback   Logback是由log4j创始人设计的另一个开源日志组件,它分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能 包括: TRACE 、 DEBUG 、 INFO 、 WARN 和 ERROR 。 1.2.1 TRACE 特别详细的系统运行完成信息,业务代码中,不要使用。(除非有特殊用意,否则请使用 DEBUG 级别替代) 1.2.2 DEBUG 可以填写所有的想知道的相关信息(但不代表可以随便写, debug 信息要有意义,最好有相关参数); 生产环境需要关闭 DEBUG 信息 如果在生产情况下需要开启DEBUG,需要使用开关进行管理,不能一直开启。 1.2.3 INFO 系统运行信息 Service方法中对于系统/业务状态的变更; 主要逻辑中的分步骤。 外部接口部分 客户端请求参数(REST/WS); 调用第三方时的调用参数和调用结果。 说明 并不是所有的service都进行出入口打点记录,单一、简单service是没有意义的; 对于复杂的业务逻辑,需要进行日志打点

日志组件slf4j介绍及配置详解

若如初见. 提交于 2019-12-02 21:38:31
1 基本介绍 每一个Java程序员都知道日志对于任何一个Java应用程序尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库,如java.util.logging、Apache log4j、logback。但如果你还不知道SLF4J(Simple logging facade for Java)的话,那么是时候在你的项目中学习使用SLF4J了。 SLF4J不同于其他日志类库,与其它日志类库有很大的不同。SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志类库。如果是在编写供内外部都可以使用的API或者通用类库,那么你真不会希望使用你类库的客户端必须使用你选择的日志类库。 如果一个项目已经使用了log4j,而你加载了一个类库,比方说 Apache Active MQ——它依赖于于另外一个日志类库logback,那么你就需要把它也加载进去。但如果Apache Active MQ使用了SLF4J,你可以继续使用你的日志类库而无需忍受加载和维护一个新的日志框架的痛苦。 总的来说,SLF4J使你的代码独立于任意一个特定的日志API,这是对于API开发者的很好的思想。虽然抽象日志类库的思想已经不是新鲜的事物,而且Apache commons

JAVA日志的前世今生

匿名 (未验证) 提交于 2019-12-02 20:37:20
这世界上很多事情,看起来就像彩虹一样炫目而神奇,实际上背后蕴含着随处可见的原理。就好像静儿几年前买过一件超贵的防辐射服,当时销售人员把手机严严实实的包在防辐射服里,然后让我打电话测试,果然没有信号。 直到今天,静儿为了写文章,把自己蒙在空调被里,额,竟然连不上网。于是掀起一个被角,“大象”的巡检结果哒哒哒的弹出来了。然后我感慨:自己当年何苦买那么贵一个“围裙”。 日志作为逻辑跟踪、线上问题排查、监控报警的有效基础利器被开发人员所熟知。问题发现、定位到解决,都离不开它,真是如彩虹般绚烂。而从它的演进过程也能看到现代互联网发展的一个缩影。 一 最原始的日志:print、alert 啥?这也算日志。 是的。记得大概十年前,不管是C/S模式(客户端+服务端模式)还是B/S(浏览器+服务端模式)。因为只有前端和后端交互这一层,整个项目都做在一个工程里,大家验证基本上用的前端就是alert,后台就是System.out.print。需求决定设计。链路短,这个基本就够用。 二 JUL java有自己的日志框架,细心的朋友可能注意到过:java.util.logging。 由于其API并不完善,对开发者不是很友好,对于日志的级别分类也不是很清晰。所以大家用的很少。 三 Log4j 有人注意到JUL的一些缺陷,做出了Log for Java。就是曾静风靡一时的Log4j。

SpringBoot日志

一笑奈何 提交于 2019-12-02 20:01:39
1、日志框架 小张开发一个大型系统,他想记录日志然后查看问题; 1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件? 2、框架来记录系统的一些运行时信息;日志框架 ; zhanglogging.jar; 3、高大上的几个功能?异步模式?自动归档?xxxx? zhanglogging-good.jar? 4、将以前框架卸下来?换上新的框架,重新修改之前相关的API;zhanglogging-prefect.jar; 5、JDBC---数据库驱动; 写了一个统一的接口层;日志门面(日志的一个抽象层);logging-abstract.jar; 给项目中导入具体的日志实现就行了;我们之前的日志框架都是实现的抽象层; 市面上的日志框架; JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j.... 日志门面 (日志的抽象层) 日志实现 JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-logging Log4j JUL(java.util.logging) Log4j2 Logback 左边选一个门面(抽象层)、右边来选一个实现; 日志门面: SLF4J; 日志实现:Logback; SpringBoot

hadoop日志:项目日志输出级别和日志存放路径详解

喜欢而已 提交于 2019-12-02 19:47:33
1.hadoop项目日志输出级别 首先了解log4j的基本知识,参考之前的博客。 对于hadoop来说,日志很繁杂。对于输出日志的级别,首先查看hadoop的日志文件log4j.properties log4j.rootLogger=${hadoop.root.logger}, EventCounter的前一部分是hadoop.root.logger。所以我们可以知道,对已我们修改hadoop的配置文件,默认应该是修改hadoop.root.logger的值,EventCounter应该是默认hadoop会添加在后面。类似的道理,我们修改任何的日志配置,都应该不会影响到系统本身的日志输出,因为它都会在log4j.rootLogger后面添加系统本身需要实现的日志实现。唯一影响的就是日志的输出级别了。包括我们打包的mapreduce、spark项目都是这个道理,都不会影响到系统本身的日志输出,除了日志输出级别。所以我们的log4j.rootLogger配置应该很简单,就是配置一下日志的输出级别和你自己需要实现的日志输出,如果都用默认的,则项目中log4j.rootLogger可以直接是空的。对于spark来说,他本身是不会输出到console的,所以需要在加上log4j.rootCategory=DEBUG, console,并且在日志文件中加上console的相关配置