在 Java 中,Logger(日志记录器) 通常使用的是 java.util.logging(JUL) 或者更常用的 Log4j / Logback(SLF4J)。下面我从 最基础的 JUL 讲起,再补充 主流用法。
import java.util.logging.Logger;
public class Demo {
private static final Logger logger = Logger.getLogger(Demo.class.getName());
public static void main(String[] args) {
logger.info("程序启动");
}
}
SEVERE > WARNING > INFO > CONFIG > FINE > FINER > FINEST
示例:
logger.severe("严重错误");
logger.warning("警告信息");
logger.info("普通信息");
logger.fine("调试信息"); // 默认不显示
import java.util.logging.Level;
logger.setLevel(Level.FINE);
import java.util.logging.*;
import java.io.*;
FileHandler fh = new FileHandler("app.log", true);
fh.setFormatter(new SimpleFormatter());
logger.addHandler(fh);
logger.setUseParentHandlers(false); // 不输出到控制台
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.4.11</version>
</dependency>
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Demo {
private static final Logger log = LoggerFactory.getLogger(Demo.class);
public static void main(String[] args) {
log.info("程序启动");
log.warn("警告信息");
log.error("错误信息");
}
}
String user = "Tom";
log.info("用户 {} 登录成功", user);
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
private static final LoggerSystem.out.println如果你告诉我:
我可以直接给你对应的完整示例配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。