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

时间:2018-02-17 18:48:57

标签: java spring spring-boot spring-web

来自Node背景,spring spring中的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。

6 个答案:

答案 0 :(得分:3)

System.out.println(job);和你一样。

它打印的内容类似于yourpackage.Job@2g45e0f9

尝试使用调试模式执行代码,并查看post方法是否将按原样执行。

答案 1 :(得分:1)

这是@robocode发布的内容的补充。覆盖toString类中的Job方法,以您希望看到的方式打印参数。

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

使您更容易对对象进行系统化。

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

答案 2 :(得分:1)

如果以上都不能解决问题 确保您正在发出具有 sysout 语句的适当请求

答案 3 :(得分:0)

您是否尝试在记录配置文件中添加 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>

答案 4 :(得分:0)

在pom文件中导入log4j依赖项

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

在控制器中定义记录器,例如:

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

然后使用

logger.info("your message");

答案 5 :(得分:0)

您可以尝试将Project Lombok添加到您的Maven或Gradle文件中。

在班级使用注释@Slf4j,并在班级的任何位置添加log.info('text')

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class MyController {
   
   public void getAll() {
      
      // log is already initialized
      // use it anywhere in the annotated class
      log.info('This is a test.');

   }
}