Вход в спящий режим сводит меня с ума - PullRequest
0 голосов
/ 13 марта 2012

Я использую hibernate 3.2.5.ga и у меня возникли сложности с настройкой log4j logging. Я пробовал все в этой теме: Настройка ведения журнала Hibernate с помощью XML-файла конфигурации Log4j?

В итоге: вот мой log4j.xml

в моем hibernate.properties у меня есть

<appender name="HibernateAppender" class="org.apache.log4j.FileAppender">
    <param name="File" value="hibernate.log" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d %-5p [%t] [Acc=%X{MDCKey.Account}] [Oppo=%X{MDCKey.Opportunity}] [URL=%X{MDCKey.Url}] [Dest=%X{MDCKey.Dest}] (%F:%L) - %m%n"/>
    </layout>       
</appender>
<logger name="org.hibernate">
<level value="debug" />
<appender-ref ref="HibernateAppender"/>
</logger>

<root>
    <priority value="info" />
    <appender-ref ref="Log"/>
    <appender-ref ref="DailyRollover"/>
    <appender-ref ref="ErrorCaptureAppender"/>
</root>

В моих свойствах hibernate.properties я также установил:

hibernate.show_sql true

Когда я отлаживаю код, я вижу, что hibernate делегирует свое ведение журнала классам slf4j. Когда я отлаживаю эти классы, я вижу пустую реализацию методов. Например: org.slf4j.impl.NOPLogger имеет пустую реализацию для своих методов журнала. Я думаю, что это проблема.

В моем Maven у меня есть:

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.5.2</version>
      <optional>false</optional>
    </dependency>

Так что это версия slf4j, которую я использую. Обратите внимание, я пробовал различные конфигурации для log4j.xml, например, явно добавив appender в корень. Просто застрял.

Какие-нибудь советы?

1 Ответ

2 голосов
/ 13 марта 2012

Я думаю, что вам не хватает правильного jar-файла «SLF4J bindings», который соответствует вашей структуре ведения журналов (например, log4j в вашем случае), чтобы делегировать все вызовы журналирования API SLF4J для log4j.

Попробуйте добавить следующее, чтобы загрузить привязку для log4j (т.е. slf4j-log4j12-1.5.2.jar)

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.5.2</version>
</dependency>

Конечно, также убедитесь, что вы уже включили log4j в зависимости Maven.

...