当前位置:首页 > Java

java如何加log

2026-03-26 06:23:52Java

在Java中添加日志记录可以通过多种方式实现,以下是几种常见的方法:

使用java.util.logging(JUL)

Java自带的日志框架java.util.logging无需引入额外依赖,适合简单场景。

import java.util.logging.Logger;

public class Example {
    private static final Logger LOGGER = Logger.getLogger(Example.class.getName());

    public void demo() {
        LOGGER.info("This is an info message");
        LOGGER.warning("This is a warning message");
    }
}

使用Log4j 2

Apache Log4j 2是广泛使用的高性能日志框架,需添加依赖(如Maven):

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.1</version>
</dependency>

配置文件log4j2.xml示例:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

代码示例:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Example {
    private static final Logger LOGGER = LogManager.getLogger(Example.class);

    public void demo() {
        LOGGER.info("Log4j2 info message");
        LOGGER.error("Log4j2 error message");
    }
}

使用SLF4J + Logback

SLF4J是日志门面,Logback是具体实现,组合使用更灵活。

Maven依赖:

<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示例:

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

代码示例:

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

public class Example {
    private static final Logger LOGGER = LoggerFactory.getLogger(Example.class);

    public void demo() {
        LOGGER.debug("SLF4J debug message");
        LOGGER.warn("SLF4J warn message");
    }
}

使用Lombok简化

通过Lombok的@Slf4j注解自动生成日志对象,减少样板代码。

Maven依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.22</version>
    <scope>provided</scope>
</dependency>

代码示例:

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class Example {
    public void demo() {
        log.info("Lombok log message");
    }
}

日志级别说明

常见日志级别从低到高:

java如何加log

  • TRACE:最详细的调试信息
  • DEBUG:调试信息
  • INFO:常规运行信息
  • WARN:警告信息
  • ERROR:错误信息
  • FATAL:严重错误

根据需求选择合适的日志框架和级别,避免过度记录影响性能。生产环境建议使用INFO及以上级别。

标签: javalog
分享给朋友:

相关文章

java如何学习

java如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何创建对象

java如何创建对象

创建对象的基本方法 在Java中,创建对象主要通过new关键字调用构造函数完成。基本语法为: ClassName objectName = new ClassName(); 例如创建String对象…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

java如何连接数据库

java如何连接数据库

Java连接数据库的方法 Java连接数据库通常使用JDBC(Java Database Connectivity)技术,以下是具体步骤和示例代码。 加载数据库驱动 在连接数据库之前,需要加载对应的…