`

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即可,如果非要原子类型,得手工重写绑定方法。

 

 

 

 

 

分享到:
评论

相关推荐

    Springmvc最全约束配置文件

    ### Spring MVC 最全约束配置文件解析 #### 一、配置文件概述 在Spring MVC框架中,配置文件扮演着至关重要的角色。它不仅定义了应用程序的行为,还管理着各种组件和服务的生命周期。本篇将深入探讨一个典型的...

    25个经典的Spring面试问题包含答案

    Spring Boot默认集成了Logback或Log4j2作为日志系统,通过application.properties或application.yml文件可以配置日志级别、输出位置等参数。 以上是Spring面试中常见的25个问题及其解答,涵盖了Spring的核心概念、...

    spring 4.10官方文档

    4. 日志管理:Spring提供了对不同日志框架的支持,例如Commons Logging、SLF4J和Log4J。文档中提到了如何在项目中使用这些日志框架,以及如何在不使用Commons Logging时进行配置。 5. 新特性介绍:在Spring ...

    Spring 3.0 API

    此外,还讨论了Spring框架对日志的支持,包括不使用Commons Logging、使用SLF4J和使用Log4J。 随着Spring 3.0的更新,带来了许多新特性和增强功能。文档详细介绍了Java 5的支持,以及文档的改进,新文章和教程的...

    spring 3.1 参考手册 英文

    Spring 3.1 支持多种日志框架,包括 Commons Logging、SLF4J 和 Log4j 等。 - **不使用 Commons Logging**:如果选择不使用 Commons Logging,可以通过其他日志框架(如 SLF4J 或 Log4j)来进行日志记录。 - **使用...

    尚硅谷spring boot基础篇.zip

    - 也可能涉及日志管理,如Logback或Log4j,Spring Boot默认使用Logback。 8. 测试: - Spring Boot提供`@SpringBootTest`注解进行集成测试,可以启动整个应用上下文。 - `@WebMvcTest`或`@DataJpaTest`等注解则...

    spring和struts的整合-aop的使用

    为了实现这一目标,你需要在Struts2的配置文件中添加Spring插件的相关配置,如`&lt;constant name="struts.objectFactory" value="org.springframework.web.struts2.SpringObjectFactory"/&gt;`,这会让Struts2使用Spring...

    springmvc+mybatis+oracle

    - 其他可能用到的jar包:如`log4j`, `slf4j`, `c3p0`(连接池), `druid`(连接池)等。 #### 二、配置文件详解 **2.1 web.xml** `web.xml`文件位于`WEB-INF`目录下,它是Web应用的部署描述符。该文件用于配置过滤器、...

    JSP基于SSM医药信息管理系统源码案例设计.zip

    例如,可以使用Spring Security进行用户认证和授权,Apache Log4j记录系统运行日志,以便追踪和排查问题。 总的来说,"JSP_SSM_medicine_management"项目是一个典型的SSM架构的医药信息管理系统,它结合了JSP的动态...

    WEB开发常用JAR包

    本主题聚焦于"WEB开发常用JAR包",涵盖了SPRING、MYBATIS、LOG4J、JSON、DOM4J、JDBC、STRUTS以及MYSQL这些关键组件。它们都是Java Web开发中的必备工具,下面将对这些JAR包进行详细解读。 1. **SPRING**:Spring是...

    Java项目之springboot家具商城系统(源码)

    9. **日志管理**:如Logback或Log4j,用于记录系统运行时的日志信息,便于问题排查和性能监控。 10. **测试框架**:如JUnit和Mockito,用于编写单元测试,保证代码质量。 11. **持续集成/持续部署(CI/CD)**:如...

    java学习资料

    这份教程会指导如何配置log4j,设置不同的日志级别,以及如何在代码中进行日志输出。 这些资料覆盖了Java从基础到进阶的多个方面,包括Web开发、持久化框架、日志、IDE使用等,对全面掌握Java技术栈非常有帮助。...

    大作业基于Java的社团活动报名系统源码.zip

    在分析源码时,我们还需要关注日志管理(如Log4j)、错误处理、单元测试(JUnit或Mockito)以及版本控制(Git)等方面。这些工具和技术帮助开发者调试、测试和协同工作。 总的来说,这个“大作业基于Java的社团活动...

    基于springboot的学生选课系统源码.zip

    - **日志记录**:使用Logback或Log4j进行日志记录,便于调试和问题追踪。 5. **技术实现** - **前后端分离**:前端可能采用Vue.js、React或Angular等现代JavaScript框架,通过API与后端交互。 - **模板引擎**:...

    基于SpringBoot2.6.4的电商系统源码.zip

    12. **日志管理**:使用Logback或Log4j记录系统日志,便于问题排查。 三、技术栈解读 1. **Spring Cloud**:如果项目采用微服务架构,可能会引入Spring Cloud,实现服务发现、负载均衡、配置中心等功能。 2. **...

    该文件是一种基于JavaWeb的海量信息-91job工作网

    13. **日志管理**:如Log4j、SLF4J,用于记录系统运行日志,便于问题排查。 14. **测试**:JUnit、Mockito等单元测试框架,以及Selenium、Appium等自动化测试工具。 15. **版本控制**:Git,用于代码版本管理和...

    基于SSM的超市库存管理系统源码.zip

    而日志框架如Log4j或Logback则用于记录系统运行过程中的信息,便于问题排查和性能优化。 数据库设计方面,库存管理系统通常会有商品表、库存表、供应商表等。商品表存储商品的基本信息,库存表记录商品的库存数量和...

    实战项目之后台管理系统

    7. **错误处理和日志记录**:使用如Spring Boot的全局异常处理和日志框架如Logback或Log4j,对系统运行过程中出现的异常进行捕获和记录,便于问题排查。 8. **单元测试和集成测试**:使用JUnit和Mockito等工具进行...

    基于SSM的平面设计在线学习系统源码.zip

    12. 错误处理与日志记录:使用日志框架如Log4j或Logback记录系统运行情况,异常处理确保系统稳定运行。 以上是对基于SSM的平面设计在线学习系统源码的解读,涵盖了从后端开发到前端展示,从数据库设计到项目构建等...

    毕业设计源码之学生平时成绩管理系统设计.zip

    同时,日志记录如Log4j或SLF4J用于追踪程序运行状态,方便问题定位和调试。 9. **部署与运行**:"项目部署说明.zip"表明项目提供了详细的部署指南,可能包括服务器环境配置、数据库连接设置、应用服务器的启动与...

Global site tag (gtag.js) - Google Analytics