在 Java 中,Logger 通常指 java.util.logging.Logger(JDK 自带),也可能指 Log4j / Logback / SLF4J 等日志框架。下面我分别给你讲 最常用、最标准的用法。
import java.util.logging.Logger;
public class Test {
// 通常用类名作为 Logger 名称
private static final Logger logger = Logger.getLogger(Test.class.getName());
public static void main(String[] args) {
logger.info("程序启动");
logger.warning("这是一个警告");
logger.severe("发生错误");
}
}
ALL < FINEST < FINER < FINE < CONFIG < INFO < WARNING < SEVERE < OFF
默认只输出 INFO 及以上级别。
import java.util.logging.Level;
logger.setLevel(Level.FINE);
import java.util.logging.*;
import java.io.*;
public class LogExample {
public static void main(String[] args) throws Exception {
Logger logger = Logger.getLogger("MyLog");
FileHandler fh = new FileHandler("log.txt", true);
logger.addHandler(fh);
logger.setLevel(Level.ALL);
logger.info("写入日志文件");
}
}
✅ 适合:简单项目、学习、工具类
<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 Test {
private static final Logger log = LoggerFactory.getLogger(Test.class);
public static void main(String[] args) {
log.info("程序启动");
log.debug("调试信息");
log.error("出错啦");
}
}
String name = "Tom";
int age = 18;
log.info("用户 {} 年龄 {}", name, age);
✅ 优点:
Spring Boot 已经帮你配置好:
@SpringBootTest
class DemoTest {
private static final Logger log = LoggerFactory.getLogger(DemoTest.class);
@Test
void test() {
log.info("SpringBoot 日志");
}
}
System.out.printlnLogger 定义为 private static final如果你愿意,我可以:
你用的是 普通 Java / Spring Boot / Maven 项目?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。