java如何log
在Java中记录日志的方法
使用java.util.logging(JUL)是Java内置的日志框架,无需额外依赖。以下是一个基础示例:
import java.util.logging.Logger;
public class LogExample {
private static final Logger LOGGER = Logger.getLogger(LogExample.class.getName());
public static void main(String[] args) {
LOGGER.severe("严重错误信息");
LOGGER.warning("警告信息");
LOGGER.info("普通信息");
LOGGER.config("配置信息");
LOGGER.fine("详细信息");
LOGGER.finer("更详细信息");
LOGGER.finest("最详细信息");
}
}
使用Log4j 2记录日志
Log4j 2是广泛使用的第三方日志框架,需添加依赖。配置log4j2.xml文件:

<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%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 Log4jExample {
private static final Logger LOGGER = LogManager.getLogger(Log4jExample.class);
public static void main(String[] args) {
LOGGER.error("错误信息");
LOGGER.warn("警告信息");
LOGGER.info("普通信息");
LOGGER.debug("调试信息");
LOGGER.trace("跟踪信息");
}
}
使用SLF4J配合Logback
SLF4J是日志门面,常与Logback配合使用。配置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 Slf4jExample {
private static final Logger LOGGER = LoggerFactory.getLogger(Slf4jExample.class);
public static void main(String[] args) {
LOGGER.error("错误信息");
LOGGER.warn("警告信息");
LOGGER.info("普通信息");
LOGGER.debug("调试信息");
LOGGER.trace("跟踪信息");
}
}
日志级别说明
不同日志框架的级别对应关系:
- SEVERE/FATAL/ERROR:严重错误
- WARNING/WARN:警告
- INFO:普通信息
- CONFIG/DEBUG:配置或调试信息
- FINE/FINER/FINEST/TRACE:详细跟踪信息
最佳实践建议
项目中使用SLF4J作为日志门面,便于后期更换实现 生产环境建议将日志输出到文件,并配置合理的滚动策略 敏感信息避免直接记录到日志中 根据环境设置不同日志级别,开发环境可用DEBUG,生产环境建议INFO或以上






