13:45:29 WARN (org.apache.commons.httpclient.HttpMethodBase:682) - Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
13:45:29 DEBUG (httpclient.wire.content:84) - << "4"
13:45:29 DEBUG (httpclient.wire.content:84) - << "5"
13:45:29 DEBUG (httpclient.wire.content:84) - << "[\r]"
13:45:29 DEBUG (httpclient.wire.content:70) - << "[\n]"
13:45:29 DEBUG (httpclient.wire.content:84) - << "{"success":"0","data":"tmp/2dba2f5c-e5d2-4f47-903d-b610c433077f.jpg"}"
13:45:29 DEBUG (httpclient.wire.content:84) - << "[\r]"
13:45:29 DEBUG (httpclient.wire.content:70) - << "[\n]"
13:45:29 DEBUG (httpclient.wire.content:84) - << "0"
13:45:29 DEBUG (httpclient.wire.content:84) - << "[\r]"
13:45:29 DEBUG (httpclient.wire.content:70) - << "[\n]"
13:45:29 DEBUG (httpclient.wire.content:84) - << "[\r]"
13:45:29 DEBUG (httpclient.wire.content:70) - << "[\n]"
13:45:29 DEBUG (httpclient.wire.header:70) - << "[\r][\n]"
13:45:29 INFO (cn.yonghui.foodsafety.common.util.PicUtils:81) - Post file to img server <= {"success":"0","data":"tmp/2dba2f5c-e5d2-4f47-903d-b610c433077f.jpg"}
日志级别的显示。
在idea显示窗中,有Serve . Tomcat Localhost Log . 和Tomcat Catalina Log 三个窗口
Serve控制台为console控制台 Tomcat Localhost Log . 和Tomcat Catalina Log 为tomcat外部控制台 可以在idea中配置
Tomcat Catalina 窗口显示运行时报错信息
项目的日志配置为self4j. 和log4j.
一. 什么是self4j. 和log4j.
-
self4j:按百科来说,SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用哪个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。
-
log4j:log4j是Apache的一个开源项目,可以灵活地记录日志信息,我们可以通过Log4j的配置文件灵活配置日志的记录格式、记录级别、输出格式,而不需要修改已有的日志记录代码。
二 . 在pom中的配置
<!-- 日志文件管理包 -->
<!-- log start -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<!-- log end -->
<!-- 引入JSON -->
<!-- 格式化对象,方便输出日志 -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.41</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.5</version>
</dependency>
三. 在配置路径下 新建log4j.properties文件
### set log levels ###
### \u8f93\u51fa\u5230\u63a7\u5236\u53f0 ###
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 = %d{HH:mm:ss} %5p (%c:%L) - %m%n
### \u8f93\u51fa\u5230\u63a7\u5236\u53f0 ###
log4j.appender.A = org.apache.log4j.ConsoleAppender
log4j.appender.A.Target = System.out
log4j.appender.A.layout = org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %5p (%c:%L) - %m%n
### \u8f93\u51fa\u5230\u65e5\u5fd7\u6587\u4ef6 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ./logs/yhcs/log.log
log4j.appender.D.Append = true
## \u8f93\u51faDEBUG\u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7 ##
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.DailyRolling.DatePattern=yyyy-MM-dd'.log'
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
### \u4fdd\u5b58\u5f02\u5e38\u4fe1\u606f\u5230\u5355\u72ec\u6587\u4ef6 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
## \u5f02\u5e38\u65e5\u5fd7\u6587\u4ef6\u540d ##
log4j.appender.E.File = ./logs/yhcs/error.log
log4j.appender.E.Append = true
## \u53ea\u8f93\u51faERROR\u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7!!! ##
log4j.appender.E.Threshold = ERROR
log4j.appender.E.DailyRolling.DatePattern=yyyy-MM-dd'.log'
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = [%p]%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%M line:%L] %m%n
log4j.rootLogger = DEBUG, stdout
log4j.logger.org=INFO
log4j.logger.com=INFO
log4j.logger.io=INFO
log4j.logger.org.jxls=DEBUG
log4j.logger.org.springframework=WARN
log4j.logger.druid.sql=INFO
log4j.logger.com.yh.yhcs=DEBUG
log4j.logger.cn.yonghui=DEBUG
log4j.logger.com.binaryhunter=DEBUG
log4j.logger.pers.binaryhunter=DEBUG
log4j.logger.org.springframework.validation.BindException=DEBUG
# log4j.logger.org.springframework.security=INFO
log4j.logger.com.corundumstudio=FATAL
log4j.logger.org.apache.commons.jexl2=ERROR