【发布时间】:2020-08-30 11:18:44
【问题描述】:
我有一个 java spring REST web 服务。该网络服务与数据库交互,我已经使用 Wildfly 控制台配置了日志记录,以将错误消息和有关这场战争的所有内容发送到 myapp.log 文件中。
我将此类错误发送到 myapp.log 文件(这是预期的):
22:28:09.027 [default task-1] [org.myapp.testapp] ERROR p.c.p.h.controller.TestController- ERROR: duplicate key value violates unique constraint "my_constraint"
在我的 java 代码中使用:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
static final Logger logger = LoggerFactory.getLogger(TestController.class);
并在异常后发送错误。正如我所说,我在 myapp.log 文件中收到此类错误消息,但在 server.log 中也收到了等效错误:
22:52:08,507 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-1) SQL Error: 0, SQLState: 23505
22:52:08,508 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-1) ERROR: duplicate key value violates unique constraint "my_constraint"
Detail: Key (myvalue)=(Avalue) already exists.
如何配置我的 java 项目以禁用这些消息到 server.log?我希望 myapp.log 成为我的应用程序的唯一日志文件
【问题讨论】:
-
您如何配置应用程序的日志记录?
myapp.log文件是如何配置的? -
@JamesR.Perkins 我在项目的文件 src/main/resources/logback-spring.xml 中配置了我的文件,这是文件定义:
${jboss.server.log.dir}/myapp.log %d{HH:mm:ss.SSS} [%thread] [org.myapp.testapp] %-5level %logger{36} - %msg% n -
您不能真正将消息从 Hibernate 重定向到您自己的日志文件,因为它们是系统级组件。
标签: java spring hibernate logging wildfly