springboot输出流到页面_SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面...

前言

SpringBoot对所有内部日志使用通用日志记录,但保留底层日志实现。为Java Util Logging、Log4J2和Logback提供了默认配置。在不同的情况下,日志记录器都预先配置为使用控制台输出,同时还提供可选的文件输出。默认情况下,SpringBoot使用Logback进行日志记录。

日志级别有(从高到低):FATAL(致命),ERROR(错误),WARN(警告),INFO(信息),DEBUG(调试),TRACE(跟踪)或者 OFF(关闭),默认的日志配置在消息写入时将消息回显到控制台。默认情况下,将记录错误级别、警告级别和信息级别的消息。

PS:Logback does not have a FATAL level. It is mapped to ERROR  Logback没有FATAL致命级别。它被映射到ERROR错误级别

本文主要记录Logback日志输出到文件以及实时输出到web页面

输出到文件

我们创建SpringBoot项目时,spring-boot-starter已经包含了spring-boot-starter-logging,不需要再进行引入依赖

标准日志格式

2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.52

2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1358 ms

2014-03-05 10:57:51.698 INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]

2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]

Date and Time: Millisecond precision and easily sortable. 日期和时间:毫秒精度,易于排序。

Log Level: ERROR, WARN, INFO, DEBUG, or TRACE. 日志级别:错误、警告、信息、调试或跟踪。

Process ID. 进程ID。

A --- separator to distinguish the start of actual log messages. 分隔符,用于区分实际日志消息的开始。

Thread name: Enclosed in square brackets (may be truncated for console output). 线程名称:括在方括号中(可能会被截断以用于控制台输出)。

Logger name: This is usually the source class name (often abbreviated). 日志程序名称:这通常是源类名称(通常缩写)。

The log message. 日志消息。

如何打印日志?

方法1

/**

* 配置内部类

*/

@Controller

@Configuration

class Config {

/**

* 获取日志对象,构造函数传入当前类,查找日志方便定位

*/

private final Logger log = LoggerFactory.getLogger(this.getClass());

@Value("${user.home}")

private String userName;

/**

* 端口

*/

@Value("${server.port}")

private String port;

/**

* 启动成功

*/

@Bean

public ApplicationRunner applicationRunner() {

return applicationArguments -> {

try {

InetAddress ia = InetAddress.getLocalHost();

//获取本机内网IP

log.info("启动成功:" + "http://" + ia.getHostAddress() + ":" + port + "/");

log.info("${user.home} :" + userName);

} catch (UnknownHostException ex) {

ex.printStackTrace();

}

};

}

}

方法2  使用lombok的@Slf4j,帮我们创建Logger对象,效果与方法1一样

/**

* 配置内部类

*/

@Slf4j

你可能感兴趣的:(springboot输出流到页面_SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面...)