журналы не распечатываются с помощью Logback с использованием ConsoleAppender - PullRequest
0 голосов
/ 06 июля 2019

Я написал простую программу, в которой я использую Logback. Я хотел использовать ASYNS, которая будет использовать STDOUT.

Вот список кода Java:

package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogBackMainApp {

    private static final Logger LOGGER = 
    LoggerFactory.getLogger(LogBackMainApp.class);

    public static void main(String[] args) throws InterruptedException {
       LOGGER.info("Hello world");
       LOGGER.info("Hello world again");
       Thread.sleep(5000);
   }
}

Ниже приведен файл конфигурации:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" >
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <!-- %d{yyyy-MM-dd HH:mm:ss.SSS} %thread %-5level %logger{0}:%L 
            If you required class name ,enable %logger{0}:%L -->
        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %thread %-5level - %msg
            %n</pattern>
    </encoder>
</appender>
<appender name="ASYNC-STDOUT" class="ch.qos.logback.classic.AsyncAppender">
    <queueSize>1</queueSize>
    <discardingThreshold>20</discardingThreshold>
    <neverBlock>true</neverBlock>
    <appender-ref ref="STDOUT" />
</appender>
<root level="INFO">
    <appender-ref ref="ASYNC-STDOUT" />
</root>

Я определяю root регистратор, который будет обслуживать мой пакет com.example, и он ссылается на ASYNC-STDOUT, который внутренне использует ch.qos.logback.core.ConsoleAppender.

Согласно моему нынешнему пониманию, он должен быть в состоянии войти в консоль. Однако ничего не идет. Что-то не так в моем коде или конфигурации ИЛИ мне не хватает понимания концепции в целом.

1 Ответ

0 голосов
/ 06 июля 2019

Если вы используете Maven, посмотрите: Управление зависимостями для SLF4J и Logback . Возможно, вам не хватает обязательной зависимости. Sl4j - это только абстракция для вашей реальной реализации логгера, которую нужно добавить как зависимость.

...