基于模型 - 视图 - 控制器(MVC)模式构建Java Web应用程序的框架。它从底层视图技术中提升灵活和分离的代码。
JBoss 上的 Spring MVC 日志错误也记录在 System.out 中
我有一个在 JBoss EAP 服务器 (7.4) 上运行的 Spring MVC 应用程序 (5.2.4.RELEASE)。 当我在控制器方法中出现错误(例如 javax.naming.NameNotFoundException)时,异常会被记录...
logback - 仅显示 catalina.out 中的错误
我有这个文件logback-spring.xml: 我有这个文件 logback-spring.xml: <configuration> <property name="DEV_HOME" value="./logs" /> <appender name="FILE-AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${DEV_HOME}/dana.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%black(%date{"yyyy-MM-dd HH:mm:ss.SSS", "Europe/Brussels"}) %highlight(%-5level) [%green(%X{sessionId})] %yellow(%logger{36}@%method\(%line\)) - %msg%n%throwable</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${DEV_HOME}/archive/dana.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <appender name="FILE-AUDITSPRING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${DEV_HOME}/springframework.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", Europe/Brussels} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${DEV_HOME}/archive/springframework.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <appender name="FILE-CATALINA" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${DEV_HOME}/catalina.out</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%black(%date{"yyyy-MM-dd HH:mm:ss.SSS", "Europe/Brussels"}) %highlight(%-5level) [%green(%X{sessionId})] %yellow(%logger{36}@%method\(%line\)) - %msg%n%throwable</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${DEV_HOME}/archive/catalina.out.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <root level="ERROR"> <appender-ref ref="FILE-CATALINA" /> </root> <appender name="FILE-AUDIT-WF" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${DEV_HOME}/activiti.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", Europe/Brussels} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${DEV_HOME}/archive/activiti.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" > <encoder> <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", Europe/Brussels} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="ERROR"> <appender-ref ref="CONSOLE" /> </root> <root level="ERROR"> <appender-ref ref="STDOUT" /> </root> <!--springProfile name="dev"--> <logger name="com.keuroa.em" level="error" additivity="true"> <appender-ref ref="FILE-AUDIT" /> </logger> <logger name="org.springframework" level="error" additivity="true"> <appender-ref ref="FILE-AUDITSPRING" /> </logger> <logger name="org.activiti" level="error" additivity="true"> <appender-ref ref="FILE-AUDIT-WF" /> </logger> <logger name="org.activiti5" level="error" additivity="true"> <appender-ref ref="FILE-AUDIT-WF" /> </logger> <!--/springProfile--> <springProfile name="prod"> <logger name="com.keuroa.em" level="WARN" additivity="false"> <appender-ref ref="FILE-AUDIT" /> </logger> <logger name="org.springframework" level="WARN" additivity="false"> <appender-ref ref="FILE-AUDITSPRING" /> </logger> <logger name="org.activiti" level="WARN" additivity="false"> <appender-ref ref="FILE-AUDIT-WF" /> </logger> <logger name="org.activiti5" level="WARN" additivity="false"> <appender-ref ref="FILE-AUDIT-WF" /> </logger> </springProfile> <logger name="org.springframework.security" level="ERROR" /> </configuration> 但是在{server}/logs/tomcat/catalina.out,我明白了 7:01:33.324 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.persistence.entity.TimerJobEntityImpl.selectTimerJobsToExecute - ==> Preparing: select * from ( select a.*, ROWNUM rnum from ( select RES.* from ACT_RU_TIMER_JOB RES where DUEDATE_ <= ? and LOCK_OWNER_ is null ) a where ROWNUM < ?) where rnum >= ? 17:01:33.325 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.persistence.entity.TimerJobEntityImpl.selectTimerJobsToExecute - ==> Parameters: 2024-11-07 17:01:33.324(Timestamp), 2(Integer), 1(Integer) 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.persistence.entity.TimerJobEntityImpl.selectTimerJobsToExecute - <== Total: 0 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.db.DbSqlSession - Flushing dbSqlSession 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.db.DbSqlSession - flush summary: 0 insert, 0 update, 0 delete. 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.db.DbSqlSession - now executing flush... 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.apache.ibatis.transaction.managed.ManagedTransaction - Closing JDBC Connection [Transaction-aware proxy for target Connection [ProxyConnection[PooledConnection[oracle.jdbc.driver.T4CConnection@65a0287e]]]] 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.springframework.orm.jpa.JpaTransactionManager - Initiating transaction commit 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.springframework.orm.jpa.JpaTransactionManager - Committing JPA transaction on EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@7591a8b2] 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.springframework.orm.jpa.JpaTransactionManager - Closing JPA EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@7591a8b2] after transaction 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.interceptor.LogInterceptor - --- AcquireTimerJobsCmd finished -------------------------------------------------------- 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.interceptor.LogInterceptor - 请查看关于日志分离的官方 logback 指南并应用其中描述的建议。
我的非控制器类将是, 公共类授权{ 字符串许可证路径; @Value("${licenseKeyNotFound}") 字符串许可证KeyNotFound; 公共布尔签入(字符串许可证...
在自定义 AuthenticationProvider 中访问 HttpServletRequest
如何在自定义 AuthenticationProvider 中访问 HttpServletRequest。我试过这样做 RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
如何从 Spring MVC 请求映射中排除特定操作名称(servlet),以便它在 web.xml 中查找该操作?
在Struts 2中我使用过 执行上述操作后,Struts 2 避免在 struts.xml 中查找 /servlet-action 和
使用 Spring 3.1、Mybatis 3 和 ehcache 缓存静态数据查找的最佳方式是什么?
我遵循了 mybatis-ecache 集成的建议,但我没有看到来自 EhCacheCache 的任何日志语句。 Spring 还集成了 eh-cache,乍一看似乎很容易导入...
如何在 spring-webflux WebTestClient 测试中验证异常?
如何在 spring-webflux 测试中验证实际的异常? 以下在旧的 spring-web 环境中有效,但迁移到 netty 和 spring-webflux 时,无法解析 MvcResult
Spring MVC:大文件下载,OutOfMemoryException
如何通过spring控制器提供大文件下载?我关注了一些关于类似主题的讨论: 从 spring 控制器下载文件 但这些解决方案对于大型网络来说失败了...
在springboot maven项目上更改java jdk
我之前使用的是java jdk 17,我用jdk 17构建了我所有的springboots maven项目,但现在我已经在我的笔记本电脑上安装了java jdk 23,然后我尝试运行我的springboot maven项目......
由于内部需要,我需要将项目从 Spring Reactive WebFlux 转换为 Spring MVC。 有人可以帮助我了解使用 Spring MVC 更好的解决方案中做到这一点的最佳方法吗?
Spring MVC(异步)与 Spring WebFlux
我正在尝试了解Spring WebFlux。到目前为止我发现的东西在核心都是反应式的,没有 Servlet API,每个请求没有线程,HTTP 2,服务器推送,application/stream+json。 但什么是...
生产中的 JTE 预编译不适用于 Spring Boot 3.3
我尝试在 Spring Boot 3.3 中使用 JTE 模板,它在开发环境中工作。在生产部署期间,预编译正在工作,但当我访问该路线时,我收到运行时错误。 ...
我在浏览器中有一个网格。 我想通过 JSON 将数据行发送到网格,但浏览器应该在接收到 JSON 时不断解析它,并在解析行时将行添加到网格中。把
我是 spring mvc 的新手,正在尝试开发一个非常基本的登录 Web 应用程序。运行项目时出现以下错误。自过去两年以来,我几乎尝试了所有方法,但无法修复此错误...
我正在使用 Struts 2 和 Spring 3。我无法注入 bean 并在启动 struts2 过滤器时出现 RunTimeException。我正在使用以下 jar 文件: servlet-api-2.4.jar、struts2-spring-plugin...
创建演示 Spring Boot 应用程序时遇到错误“entityManagerFactory”
我已经开始学习 Spring Boot 并开发了演示项目,但在过去 3 周中遇到了以下错误: 启动 ApplicationContext 时出错。显示状况评估报告...
没有“com...”类型的合格 bean 可用:预计至少有 1 个有资格作为自动装配候选者的 bean。依赖注释:{}
我正在尝试对我的存储库进行测试,但在启动时会抛出此类异常,说实话,我现在不关心测试,这是编译错误,即使我尝试运行独立的...
使用 Spring 数据 JPA 进行 Spring 启动:无法提取结果集
我使用 Spring Data JPA 开发 Spring Boot 应用程序 请问有人有这个问题的解决方案吗?: 我的豆子: @实体 @Table(名称=“员工”,目录=“explorerr”) 员工公开课
保存具有 @OneToMany 关系的实体时出现 JPA2 NullPointerException [已关闭]
我有两个具有@OneToMany关系的实体。 问题是我在保存期间在 getComps().add(comp) 行上收到 NullPointerException。 如果我显式实例化 comps se,它就可以正常工作...
在将应用程序从 Struts 1.2.x 迁移到 Spring MVC 时,我被困在 JSP 中必须使用 .properties 查找文件中的标签的地方。 在遗留代码中,应用程序使用了 Struts