日志记录器(Logger)的行为是分等级的。分为
- OFF
- FATAL
- WARN
- INFO
- DEBUG
- TRACE
- ALL
Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。
比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。
如果设置级别为INFO,则优先级高于等于INFO级别(如:INFO、WARN、
ERROR)的日志信息将可以被输出,小于该级别的如DEBUG将不会被输出。
之前配置的log4j文件如下:
### \u8BBE\u7F6E###
log4j.rootLogger = debug,stdout,D,E
### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### \u8F93\u51FADEBUG \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### \u8F93\u51FAERROR \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
日志打印效果如下:
negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
[DEBUG] 2018-09-07 21:44:03,022 method:org.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:433)
peer principal: CN=*.csdn.net, OU=产品研发, O=北京创新乐知信息技术有限公司, L=北京, C=CN
[DEBUG] 2018-09-07 21:44:03,022 method:org.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:442)
peer alternative names: [*.csdn.net, csdn.net]
[DEBUG] 2018-09-07 21:44:03,022
.................................
还有n多行................
这样在控制台查看日志就会跟乱,所以这里我们把级别设置的高一点,设置为warn以上,代码如下:
#Set everything to be logged to the console
log4j.rootCategory=WARN, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
#Settings to quiet third party logs that are too verbose
log4j.logger.org.spark-project.jetty=WARN
log4j.logger.org.spark-project.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
日志打印效果如下:
Search 项目 成功调用InsertBlog 方法
18/09/07 22:02:49 WARN ResponseProcessCookies: Invalid cookie header: "Set-Cookie: uuid_tt_dd=10_30832608270-1536328969148-557055; Expires=Thu, 01 Jan 2025 00:00:00 GMT; Path=/; Domain=.csdn.net;". Invalid 'expires' attribute: Thu, 01 Jan 2025 00:00:00 GMT
18/09/07 22:02:49 WARN ResponseProcessCookies: Invalid cookie header: "Set-Cookie: dc_session_id=10_1536328969148.399848; Expires=Thu, 01 Jan 2025 00:00:00 GMT; Path=/; Domain=.csdn.net;". Invalid 'expires' attribute: Thu, 01 Jan 2025 00:00:00 GMT
长度是:20
18/09/07 22:02:50 WARN ResponseProcessCookies: Invalid cookie header: "Set-Cookie: uuid_tt_dd=10_30832608270-1536328969431-563183; Expires=Thu, 01 Jan 2025 00:00:00 GMT; Path=/; Domain=.csdn.net;". Invalid 'expires' attribute: Thu, 01 Jan 2025 00:00:00 GMT
18/09/07 22:02:50 WARN ResponseProcessCookies: Invalid cookie header: "Set-Cookie: dc_session_id=10_1536328969431.386097; Expires=Thu, 01 Jan 2025 00:00:00 GMT; Path=/; Domain=.csdn.net;". Invalid 'expires' attribute: Thu, 01 Jan 2025 00:00:00 GMT
长度是:20
数据分别为:Blog [id=null, title=Java实现快速排序算法, href=https://blog.csdn.net/IBLiplus/article/details/82467198, content=之前的博客中其实已经写过有关于快速排序的算法了,之所以再写一遍,是因为快速排序的应用场景还算是多的,而且在Java面试过程中有不小的几率会考察到快速排序的算法,这里我们只提供算法,至于详细的讲解,请看我之前的博客: 《Java实现快速排序算法》链接:https://blog.csdn.net/I...]
数据分别为:Blog [id=null, title=搜索引擎, href=https://blog.csdn.net/IBLiplus/article/details/82430876, content=所谓搜索引擎: 搜索引擎是根据一定的策略,运用特定的计算机程序从互联网中搜索信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索的相关信息展示给用户的系统。搜索引擎一般涉及以下几点: 1、网络爬虫技术:我们可以通过DNS获取网络中访问量比较高的网站域名,也可以通过在访问网站中的...]
数据分别为:Blog [id=null, title=JavaWeb项目ssm框架实现简易邮件的发送, href=https://blog.csdn.net/IBLiplus/article/details/82315209, content=下面我们直接进入正文,最近项目中使用到了发送邮件的功能,那我们直接看一下如何实现: 首先看一下效果图: 然后看一下邮箱中的效果: 首先配置一下我们maven项目中的pom.xml文件,引入相关的依赖: <!-- 添加邮件发送的依赖 --&g...]
数据分别为:Blog [id=null, title=JavaWeb项目ssm实现读取excel数据插入到数据库详解, href=https://blog.csdn.net/IBLiplus/article/details/82314384, content=最近在做项目的时候用到读取excel数据,将excel中的多行数据读取出来插入到数据库中的相应的表中。首先看一下展示图: 首先是页面的两个btn: 然后看一下excel表中的数据格式: 然后看一下读出来的数据: 首先将需要的依赖添加在项目的pom.xml文件中: &...]
数据分别为:Blog [id=null, title=改变action解决一个form表单多个submit的情况, href=https://blog.csdn.net/IBLiplus/article/details/82193392, content=有的时候在前端页面使用form表单提交时,需要提交的内容是一样的,但是执行的操作可能不同,提交到controller中的不同方法中,可能执行增删,或者改查,执行的操作不同,所以form表单提交的action也是不同的,下面通过代码展示一下这个问题如何解决,其实很简单: html代码: &am...]
这里在附加上log4j文件的配置:
spring-mybatis文件中添加一下代码: