java 如何打印日志
日志打印基础方法
在Java中打印日志通常使用System.out.println()或专业的日志框架如Log4j、Logback或java.util.logging。
System.out.println("This is a log message");
使用java.util.logging
Java内置的日志框架java.util.logging提供基础日志功能。

import java.util.logging.Logger;
public class Main {
private static final Logger LOGGER = Logger.getLogger(Main.class.getName());
public static void main(String[] args) {
LOGGER.info("This is an info message");
LOGGER.warning("This is a warning message");
}
}
使用Log4j 2.x
Log4j是流行的日志框架,需要添加依赖并配置log4j2.xml。
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Main {
private static final Logger LOGGER = LogManager.getLogger(Main.class);
public static void main(String[] args) {
LOGGER.debug("Debug message");
LOGGER.error("Error message with exception", new Exception("test"));
}
}
使用SLF4J + Logback
SLF4J作为日志门面,配合Logback实现,需添加相关依赖。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
private static final Logger LOGGER = LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
LOGGER.trace("Trace message");
LOGGER.info("User {} logged in", "admin");
}
}
日志级别说明
常见日志级别从低到高:
- TRACE
- DEBUG
- INFO
- WARN
- ERROR
日志格式配置
以Logback为例,logback.xml可配置输出格式:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
最佳实践建议
- 避免使用
System.out.println()用于生产环境日志 - 根据场景选择适当日志级别
- 使用参数化日志避免字符串拼接开销
- 敏感信息需脱敏处理
- 合理配置日志滚动策略防止磁盘写满






