Как мне заставить SLF4J выводить некоторые операторы регистрации?

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

Я добавил в свой pom.xml следующее:

<dependency>
    <groupId>com.googlecode.sli4j</groupId>
    <artifactId>sli4j-slf4j-simple</artifactId>
    <version>2.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

И я использую это так:

final Logger logger = LoggerFactory.getLogger(UdpRemoteConnection.class);

      ...

logger.error("test error");

Прямо сейчас мне не нужно ничего необычного, мне просто нужно войти в консоль. Как мне включить это?


person sanity    schedule 10.04.2011    source источник


Ответы (2)


Похоже, вы используете Sli4j вместо Slf4j.
Попробуйте использовать Slf4j напрямую:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>


<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>${slf4j.version}</version>
</dependency>

(Я использую 1.5.11 как slg4j.version, но последняя доступная версия — 1.6.1)

person Tarlog    schedule 10.04.2011
comment
А, спасибо. И это должно войти в консоль без какой-либо дополнительной настройки? - person sanity; 10.04.2011
comment
Да, slf4j-simple просто выводит на консоль, начиная с информационного уровня и выше. Лично я не думаю, что это очень хорошая идея, чтобы использовать его. Лучше использовать slf4j-jdk14 для входа в регистратор Jdk по умолчанию. - person Tarlog; 10.04.2011

Моя обычная конфигурация для Java-проектов с Maven:

пом.xml:

...
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.1</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>0.9.26</version>
</dependency>
...

src/main/resources/logback.xml и/или src/test/resources/logback.xml:

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </layout>
  </appender>

  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

Logback — это реализация slf4j и преемник log4j.

person moritz    schedule 10.04.2011