Я пытаюсь настроить Log4J2 с моим приложением Spring Boot. Все работает нормально, но у меня есть некоторые проблемы с SQL-запросчиками.
Я не вижу привязок гибернации, которые я видел до того, как интегрировал log4j2 в мой проект.
Мой pom.xml
:
...
<!-- Spring boot dependency -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
...
My log4j2.xml
, основано на документах hiberante
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="5">
<Properties>
<Property name="levelTrace">DEBUG</Property>
<Property name="slqLevel">TRACE</Property>
</Properties>
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout>
<pattern>
[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%X{uuid_ws}] %c{1} - %msg%n
</pattern>
</PatternLayout>
</Console>
<RollingFile name="DAILY_LOG"
fileName="${ws-log-path}/${app-name}.log"
filePattern="${ws-log-path}/archived/%d{yyyy-MM-dd}.log.gz">
<PatternLayout>
<pattern>
[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%X{uuid_ws}] [%X] %c{1} - %msg%n
</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="30 MB"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="com" level="TRACE" additivity="false">
<AppenderRef ref="DAILY_LOG" level="${levelTrace}"/>
<AppenderRef ref="CONSOLE" level="${levelTrace}"/>
</Logger>
<Logger name="org.thymeleaf" level="TRACE" additivity="false">
<AppenderRef ref="DAILY_LOG" level="TRACE"/>
<AppenderRef ref="CONSOLE" level="TRACE"/>
</Logger>
<!-- Log all SQL DML statements as they are executed -->
<Logger name="org.hibernate.SQL" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log all JDBC parameters -->
<Logger name="org.hibernate.type" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log all SQL DDL statements as they are executed -->
<Logger name="org.hibernate.tool.hbm2ddl" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log the state of all entities (max 20 entities) associated with the session at flush time -->
<Logger name="org.hibernate.pretty" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log all second-level cache activity -->
<Logger name="org.hibernate.cache" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log transaction related activity -->
<Logger name="org.hibernate.transaction" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log all JDBC resource acquisition -->
<Logger name="org.hibernate.jdbc" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log HQL and SQL ASTs during query parsing -->
<Logger name="org.hibernate.hql.ast.AST" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log all JAAS authorization requests -->
<Logger name="org.hibernate.secure" level="${slqLevel}">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="${slqLevel}"/>
</Logger>
<!-- Log everything (a lot of information, but very useful for troubleshooting) -->
<Logger name="org.hibernate.type.descriptor.sql" level="TRACE">
<AppenderRef ref="DAILY_LOG" level="${slqLevel}"/>
<AppenderRef ref="CONSOLE" level="TRACE"/>
</Logger>
<Root level="trace">
<AppenderRef ref="DAILY_LOG" level="INFO"/>
<AppenderRef ref="CONSOLE" level="TRACE"/>
</Root>
</Loggers>
</Configuration>
Кроме того, я настраиваю один регистратор для пакета org.hibernate.type
и устанавливаю его на уровне TRACE
, я не могу видеть привязки SQL.
Может кто-нибудь мне помочь?