当前位置:首页 > 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);
}

分享给朋友:

相关文章

react如何使用函数

react如何使用函数

使用函数组件的基本语法 在React中,函数组件是通过JavaScript函数定义的组件。函数接收props作为参数,并返回React元素。 function Welcome(props) {…

vue操作日志实现

vue操作日志实现

Vue 操作日志实现方案 方案一:基于拦截器的前端日志记录 通过封装 Axios 请求拦截器和响应拦截器,自动记录用户操作。这种方式适合记录 API 调用相关的操作。 // 在 axios 拦截器…

react router如何使用

react router如何使用

React Router 的基本使用 安装 React Router 库,使用 npm 或 yarn 进行安装: npm install react-router-dom 配置路由 在应用的入口文件…

vue实现解析日志功能

vue实现解析日志功能

解析日志功能的实现方法 在Vue中实现日志解析功能,通常需要结合文件处理、文本解析和可视化展示。以下是几种常见实现方式: 文件上传与读取 使用HTML5的File API实现日志文件上传: <…

react 如何使用axios

react 如何使用axios

安装 axios 在 React 项目中安装 axios 依赖包: npm install axios # 或 yarn add axios 引入 axios 在需要发送 HTTP 请求的组件或文件…

react如何使用图片

react如何使用图片

在React中使用图片的方法 静态图片导入 在React组件中可以直接通过import导入图片文件,这种方式适用于已知的静态资源。导入后,图片会被处理为模块,可通过src属性引用。 import R…