java 如何在Sping Boot Web应用程序中打印到控制台

g6ll5ycj  于 2023-04-19  发布在  Java
关注(0)|答案(6)|浏览(208)

从Node的背景来看,在spring Boot 中console.log()的等价物是什么?
例如,我想在我的控制台中看到以下方法中的作业信息。

@RequestMapping(value = "jobposts/create", method = RequestMethod.POST)
public Job create(@RequestBody Job job){
    System.out.println(job);
    return jobRepository.saveAndFlush(job);
}

System.out.println();我知道如何在Java中实现它,但它似乎没有出现在我的控制台中。使用IntelliJ。

jhiyze9q

jhiyze9q1#

System.out.println(job);就像你做的那样。
它会打印类似于您的package.Job@2g45e0f9的内容
尝试使用调试模式执行代码,并查看post方法是否会执行。

oknwwptz

oknwwptz2#

这是除了@robocode发布的内容之外的内容。重写Job类中的toString方法,以按照您希望的方式打印参数。

public class Job{
   String p1;
   int p2;
   .
   .
   @Override
   public String toString(){
      return "p1: "+p1+", p2: "+p2;
   }
}

使其更容易简单地sysout您的对象。

Job job = new Job();
System.out.println(job);
mkshixfv

mkshixfv3#

你有没有尝试在日志配置文件中添加console appender?这里是你在slf4j + logback生态系统中的操作方法
在logback.xml中,

<configuration>
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="net.logstash.logback.encoder.LogstashEncoder">
        <timeZone>UTC</timeZone>
    </encoder>
</appender>
<logger name="com.yourcompany.packagename" level="INFO" additivity="false">
    <appender-ref ref="consoleAppender" />
</logger>
<root level="ERROR">
    <appender-ref ref="consoleAppender" />
</root>
</configuration>
nx7onnlm

nx7onnlm4#

您可以尝试**Lombok**
在类级别使用@Slf4j,在类的任何地方使用log.info('text')

import lombok.extern.slf4j.Slf4j;
    
    @Slf4j
    public class MyController {
       
       public void getAll() {
          log.info('This is a test.');
       }
    }
jpfvwuh4

jpfvwuh45#

在pom文件中导入log4j依赖项

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

在控制器中定义logger,如:

private static Logger logger = LoggerFactory.getLogger(YourClassName.class);

然后使用

logger.info("your message");
sycxhyv7

sycxhyv76#

如果上面的方法不能解决问题,请确保您正在发出包含sysout语句的适当请求

相关问题