Java-Slf4j未显示在控制台上:

问题描述

我正在尝试显示此log.info(“ String is:” + str1);在控制台上,但根本不显示,如何在控制台上显示log.info?

@Slf4j
@requiredArgsConstructor
@Component
public class TTD {

public ResponseEntity<InputStreamResource> transform() {


    try {
        ObjectMapper mapper = new ObjectMapper();
        Jsonb jsonb = JsonbBuilder.create();

        EcrionIntegration ei = new EcrionIntegration();
        ei.setHelloWord("Hello Sharon");


        String str1 = mapper.writeValueAsstring(ei);

        log.info("String is:"+str1);

    } catch (Exception ex) {

        throw new RuntimeException(ex);
    }
}

控制台正在显示附件图像:

The console without the logs

解决方法

您需要使用STDOUT附加程序的资源文件夹中的配置文件。

例如:

log4j.xml
<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>
 
  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

或在application.properties文件中,例如:

log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n
,

您需要在XML文件中添加以下行... ref =“ CONSOLE”将有助于在控制台上打印。

        <root>
            <level value="INFO" />
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="FILE" />
        </root>