当前位置:首页 > Java

java如何书写日志

2026-03-22 04:43:25Java

日志框架选择

Java中常用的日志框架包括Log4j、Logback和java.util.logging(JUL)。Log4j和Logback功能更强大,支持异步日志、多种输出格式等特性。Slf4j是日志门面,可以与具体实现框架结合使用。

添加依赖

以Maven项目为例,添加Slf4j和Logback的依赖:

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

日志配置文件

Logback使用XML格式的配置文件(logback.xml),放置在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类中通过LoggerFactory获取Logger实例:

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

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

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

日志级别控制

日志级别从低到高分为TRACE、DEBUG、INFO、WARN、ERROR。通过配置文件中的<root level>设置全局级别,也可以为特定包单独设置级别:

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

日志输出优化

使用参数化日志避免字符串拼接开销:

logger.info("User {} logged in at {}", username, loginTime);

对于异常日志,直接传递异常对象作为最后一个参数:

java如何书写日志

try {
    // code
} catch (Exception e) {
    logger.error("Operation failed", e);
}

标签: 日志java
分享给朋友:

相关文章

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

java如何自学

java如何自学

确定学习目标和路径 自学Java需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…

uniapp 日志

uniapp 日志

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

vue操作日志实现

vue操作日志实现

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

vue实现解析日志功能

vue实现解析日志功能

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

java实现js

java实现js

Java 实现 JavaScript 功能 在 Java 中实现 JavaScript 功能通常涉及以下几种方法: 使用 ScriptEngine Java 提供了 javax.script 包,可…