当前位置:首页 > Java

java如何使用日志

2026-03-22 05:47:41Java

日志框架选择

Java生态中常用的日志框架包括Log4j、Logback和java.util.logging(JUL)。推荐使用SLF4J作为日志门面,搭配Logback或Log4j2实现,以获得更好的性能和灵活性。

添加依赖

对于Maven项目,在pom.xml中添加以下依赖(以SLF4J + Logback为例):

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.6</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.32</version>
</dependency>

配置日志文件

创建logback.xml配置文件并放置在src/main/resources目录下:

<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="INFO">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

代码中使用日志

在Java类中通过SLF4J接口记录日志:

java如何使用日志

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyClass {
    private static final Logger logger = LoggerFactory.getLogger(MyClass.class);

    public void doSomething() {
        logger.debug("Debug message");
        logger.info("Info message");
        logger.warn("Warning message");
        logger.error("Error message", new Exception("Sample error"));
    }
}

日志级别控制

Logback支持以下日志级别(从低到高):

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR

可通过配置文件动态调整级别,例如设置特定包的日志级别:

java如何使用日志

<logger name="com.example" level="DEBUG"/>

日志文件输出

添加文件滚动策略到logback.xml

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

日志格式自定义

日志模式中的常用占位符:

  • %d:日期时间
  • %thread:线程名
  • %-5level:左对齐的日志级别
  • %logger:日志记录器名称
  • %msg:日志消息
  • %n:换行符

异常日志记录

推荐使用带有异常参数的日志方法:

try {
    // 业务代码
} catch (Exception e) {
    logger.error("Error occurred while processing", e);
}

分享给朋友:

相关文章

uniapp 日志

uniapp 日志

uniapp 日志管理方法 uniapp本身没有内置日志系统,但可以通过以下方式实现日志记录功能: 使用console.log输出日志 开发阶段可以直接使用console.log()、console…

react激光如何使用

react激光如何使用

安装React激光库 在项目中安装React激光库,通常通过npm或yarn完成。确保项目已初始化并具备React环境。 npm install react-laser-beam # 或 yar…

react filter如何使用

react filter如何使用

react filter 的基本用法 在 React 中,filter 通常用于筛选数组数据,常见于列表渲染或数据处理场景。filter 是 JavaScript 数组的原生方法,但在 React 中…

react dnd如何使用

react dnd如何使用

React DnD 使用指南 React DnD(Drag and Drop)是一个用于在 React 应用中实现拖放功能的库。它基于 HTML5 的拖放 API,提供了更高级的抽象和更好的 Reac…

react如何使用mobx

react如何使用mobx

使用 MobX 在 React 项目中 在 React 项目中集成 MobX 需要安装必要的依赖包并配置 Store 和组件。以下是详细步骤: 安装依赖 确保项目中已安装 mobx 和 mobx-r…

react如何使用sass

react如何使用sass

安装 Sass 依赖 在 React 项目中安装 sass 作为开发依赖: npm install sass --save-dev 或使用 Yarn: yarn add sass --dev 创建…