我正在使用Springorg.springframework.jdbc.core.JdbcTemplate和org.springframework.jdbc.core.simple.SimpleJdbcCall进行数据库查询。我正在使用log4j2.xml进行日志记录。我想将所有sql查询及其数据库结果记录在db.log文件中。
我尝试在log4j2.xml文件中使用以下记录器,但它没有在db中记录任何内容。日志文件。我尝试了level=“TRACE”和level=“debug”,但都不起作用。
<RollingFile name="db" fileName="${sys:catalina.home}/logs/db.log"
filePattern="${sys:catalina.home}/logs/$${date:yyyy-MM-dd}/db-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout
pattern="%d{dd/MM/yyyy HH:mm:ss,SSS} [%X{cartID}] [%X{sessionId}] [%p] [%t] [%c] (%F:%L) - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy interval="1"
modulate="true" />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="org.springframework.jdbc.core.JdbcTemplate" level="TRACE" additivity="false">
<Appender-Ref ref="db" />
</Logger>
在我们的java类中,我们使用以下sql
String sQuery = "select count(*) from impersonation_requests where ir_eid = ? and ir_tmp_userid = ?";
String value = template
.queryForObject(sQuery, new Object[] { passwordInfo.getEid(),
passwordInfo.getUserId() }, String.class);
这里 var 模板是组织的实例变量
我想在我的db.log文件中看到sQuery和值条目。我们可以使用JdbcTemplate实现这一点吗?或者我需要在我所有的DAO类中实现记录器,并在我使用JdbcTemplate的每个类中记录sQuery和值。我想避免这种方法。请建议。
<Logger name="org.springframework.jdbc.core.JdbcTemplate" level="TRACE" additivity="false">
<Appender-Ref ref="db" />
</Logger>
这肯定行得通。调试和跟踪两个级别都可以。唯一的问题是JDBCTemplate使用通用日志API进行日志记录。如果您在应用程序中使用log4j,则必须为其添加通用日志记录桥。
在您的pom.xml中添加以下内容
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.0-rc1</version>
</dependency>
我会说名称=“组织Spring框架.jdbc.core.Jdbc模板”
是非常“严格的”。试试这个类别:
org.springframework.jdbc
我试图从log4j1更改为log4j2。我所做的: 已删除旧配置文件log4j。xml 创建了新的配置文件log4j2。xml 创建了jboss部署结构。xml 编辑的pom 环境:野蝇10 1 EAR 4 WAR文件中没有使用web.xml。以前的log4j配置日志在EAR中(仅) Log4j2配置文件 Jboss部署结构 新的maven依赖关系 我之前说过我在SLF4j中使用log4j1。这些
如果我在application.properties文件中指定“Logging.config=src/main/resources/log4j2.properties”,日志记录就可以正常工作。 spring boot自动检测log4j2.properties而不需要在application.properties文件中指定“logging.config=src/main/resources/log
我使用Spring Boot和log4j2进行日志记录,因为我希望日志写在文件上而不是控制台上。所以我实现了log4j2.properties并将其保存在Spring Boot项目的资源文件夹下。
问题内容: 我使用spring-data-elasticsearch框架从elasticsearch服务器获取查询结果,如下所示的Java代码: 虽然我怎么知道发送到elasticssearch服务器的原始http查询?我如何启用日志记录,我尝试添加log4j,但是似乎spring-data- elasticsearch没有记录查询。 问题答案: 我没有针对Spring Data Elastics
我使用spring-data-elasticsearch框架从elasticsearch服务器获取查询结果,java代码如下: 然而,我如何知道发送到elasticssearch服务器的原始http查询?如何启用日志记录,我尝试添加log4j,但spring数据elasticsearch似乎没有记录查询。
我正在为日志创建一个Spring Bootjar。我在我的主要spring boot项目中添加了这个依赖项。我可以在主项目的控制台中获取日志。但是没有登录到文件中。 我在文件中添加了以下application.yml 谁能帮我一下吗。提前谢谢!