springboot使用Logback把日志输出到控制台或输出到文件

下面是使用Spring Boot集成Logback将日志输出到控制台或文件的完整攻略。

步骤1: 添加Logback和Spring Boot的依赖

首先需要在pom.xml文件中添加Logback和Spring Boot的依赖:

<!-- Logback for logging -->
<dependency>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-log4j2</artifactId>  
</dependency>  

步骤2:创建Logback配置文件

接下来需要创建Logback的配置文件logback-spring.xml,该文件必须放置在为Spring Boot应用程序提供classpath服务的位置。src/main/resources目录是该应用程序中的默认位置。

下面是一个简单的logback-spring.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!-- 控制台输出 -->
  <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <!-- 输出编码 -->
    <encoder charset="UTF-8">
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <!-- 输出日志级别 -->
  <root level="INFO">
    <appender-ref ref="stdout"/>
  </root> 
</configuration>

步骤3:在应用程序中使用日志

现在配置好了Logback,可以在应用程序中使用日志了。可以使用Spring Boot自动配置的Java Util Logging (JUL)实现或者Logback实现。

下面的示例是一个使用Logback的Spring Boot应用程序:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

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

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        logger.info("Spring Boot is up and running!");
    }

}

示例A:将日志输出到控制台

按照以上配置好之后,运行上述示例应用程序,可以看到日志已经被输出到控制台,示例如下:

2017-10-12 15:24:53.804 [main] INFO  com.example.Application - Spring Boot is up and running!

示例B:将日志输出到文件

接下来,我们将Logback配置为将日志输出到文件中,需要新增一个appender节点定义一个输出文件:

    <!-- 输出文件 -->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/Users/xxx/logs/xxx.log</file>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/Users/xxx/logs/xxx.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>

然后将root节点中配置从控制台输出应用程序日志的appender_ref改为新添加的文件输出appender_ref即可。

  <root level="INFO">
    <appender-ref ref="stdout"/>
    <!-- 文件输出 -->
    <appender-ref ref="file"/>
  </root>

完成以上配置,重新启动程序,可以看到日志已经被输出到文件中,打开/Users/xxx/logs/xxx.log文件,示例如下:

2017-10-12 15:24:53.804 [main] INFO  com.example.Application - Spring Boot is up and running!

以上就是使用Spring Boot集成Logback将日志输出到控制台或文件的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot使用Logback把日志输出到控制台或输出到文件 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 下载远程maven仓库的jar 手动放到本地仓库详细操作

    下面是下载远程maven仓库的jar 手动放到本地仓库的详细攻略: 准备工作 在进行手动安装过程前,请确保以下工作已经完成: 安装了 Maven,并配置好了环境变量。 存在一个 Maven 仓库地址,可以是远程仓库地址或本地仓库地址。 手动下载 jar 包 首先,你需要手动下载需要安装的 jar 包。可以在 Maven 仓库中寻找需要的 jar 包的地址,也…

    Java 2023年6月2日
    00
  • java 域对象共享数据的实现

    我将为你详细讲解“java 域对象共享数据的实现”的完整攻略。 什么是java域对象 Java域对象是Java程序中表示一个实体的对象。它通常是一个POJO(Plain Old Java Object),它没有任何业务逻辑代码,并只包含类属性和getter / setter方法来管理该实体的数据。 如何实现Java域对象的数据共享 在Java应用程序中,我们…

    Java 2023年5月26日
    00
  • java异常级别与捕获的示例代码

    下面是关于Java异常级别与捕获的详细攻略: 异常级别 Java异常的级别(或称之为异常的分类)按照继承体系分为三个大类:Error、Exception、RuntimeException。其中Error和RuntimeException是Java语言中最常见的两种异常。下面我们分别来介绍这三类异常的特点: Error Error是Java中的严重问题,一般都…

    Java 2023年5月27日
    00
  • 简单了解java函数式编码结构及优势

    简单了解Java函数式编码结构及优势 前言 在 Java 8 中,函数式编程成为了一个重大的特性。这项特性使得开发人员可以写出更具有简洁性、清晰性和可维护性的代码。在本篇攻略中,我们将简单了解 Java 函数式编码的结构和优势。 函数式编码结构 Lambda 表达式 Lambda 表达式是 Java 8 中最重要的一个特性,是一种简洁地表示函数的方法。它可以…

    Java 2023年5月20日
    00
  • Spring整合多数据源实现动态切换的实例讲解

    Spring整合多数据源实现动态切换的实例讲解 在系统中,经常需要连接多个数据库,例如MySQL、Oracle等。Spring提供了很好的支持来整合多数据源,下面就来具体讲解如何实现。 基本配置 首先,需要在pom文件中添加Springjdbc依赖。在applicationContext.xml文件中配置数据源和JdbcTemplate。具体配置如下: &l…

    Java 2023年5月20日
    00
  • netbeans中的快捷键有哪些?netbeans中常用快捷键大全

    NetBeans是一款跨平台的集成开发环境,该软件为开发者提供了一系列实用的快捷键,提高了开发的效率。下面将为大家介绍在NetBeans中常用快捷键大全。 常用快捷键列表 下面是一些常用的快捷键列表: Ctrl + S: 保存当前打开的文件 Ctrl + Shift + S: 另存为当前打开的文件 Ctrl + N: 打开新文件 Ctrl + Shift +…

    Java 2023年5月20日
    00
  • Java连接各种数据库的方法

    Java是一门强大的编程语言,可以连接多种数据库。在这里,我们将讲解如何连接常见的MySQL和Oracle数据库。Java连接这些数据库的方法包括以下步骤: 导入数据库驱动程序库文件:Java连接数据库之前,需要导入数据库的驱动程序库文件。MySQL数据库驱动程序库文件的名称通常是mysql-connector-java.jar。Oracle数据库驱动程序库…

    Java 2023年6月1日
    00
  • SpringBoot2 实现JPA分页和排序分页的案例

    下面是关于“SpringBoot2 实现JPA分页和排序分页的案例”的完整攻略: 1. 简介 SpringBoot是一款轻量级的Java开发框架,它可以用来构建各种类型的Web应用程序。其中,JPA(Java Persistence API)是Java EE规范的一部分,用于管理Java对象和关系型数据库之间的映射关系。JPA的分页和排序功能在实际开发中非常…

    Java 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部