spring MVC配置log4j 本身配置的一些解读

承接上文,配置日志

1 pom文件中引入

<!-- log -->

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-api</artifactId>

<version>1.6.6</version>

</dependency>

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>jcl-over-slf4j</artifactId>

<version>1.6.6</version>

<scope>runtime</scope>

</dependency>

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-log4j12</artifactId>

<version>1.6.6</version>

<scope>runtime</scope>

</dependency>

<!-- log -->

 

2 web.xml文件中加入配置

<context-param>

    <param-name>log4jConfigLocation</param-name>

    <param-value>classpath:log4j.properties</param-value>

  </context-param>

  <context-param>

    <param-name>log4jRefreshInterval</param-name>

    <param-value>6000</param-value>

  </context-param>

 

3 并在src目录下新增一个log4j.properties文件

log4j.rootLogger=info, ServerDailyRollingFile, stdout 

log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender 

log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd 

log4j.appender.ServerDailyRollingFile.File=../log/log.log

log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout 

log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] %l %m%n

log4j.appender.ServerDailyRollingFile.Append=true

 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] %l %m%n

 

 

 

期间在运行是,对@RequestBody注解有一些疑惑,查了些资料发现,将HTTP请求正文转换为适合的HttpMessageConverter对象,但其接受的对象必须是json字符串,并且enctype="application/json"配置为json的格式,比较适合ajax异步请求,默认的form请求不需要这个注解的。

 

实体类的属性开始用的是原子类型的,后来在自动包装的时候忘记填写一个数据了,发现开始报错400错误,

 

描述为:The request sent by the client was syntactically incorrect.

将日志级别调成debug级别,发现错误如下:

Field error in object 'animal' on field 'id': rejected value []; codes [typeMismatch.animal.id,typeMismatch.id,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [animal.id,id]; arguments []; default message [id]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'id'; nested exception is java.lang.NumberFormatException: For input string: ""]

将其id属性类型改成包装类型Integer即可,如果非要原子类型,得手工重写绑定方法。

 

 

 

 

 

猜你喜欢

转载自lovewen-2004.iteye.com/blog/2291795
今日推荐