在 Java 中,Logger(java.util.logging.Logger) 默认是输出到控制台的,如果要写入文件,需要配置 Handler(通常是 FileHandler)。下面按常见方式给你说明。
import java.util.logging.*;
import java.io.IOException;
public class LoggerToFile {
public static void main(String[] args) throws IOException {
Logger logger = Logger.getLogger("MyLogger");
logger.setUseParentHandlers(false); // 不输出到控制台
// 写入文件
FileHandler fileHandler = new FileHandler("app.log", true); // true 表示追加
fileHandler.setFormatter(new SimpleFormatter());
logger.addHandler(fileHandler);
logger.info("这是一条日志信息");
logger.warning("这是一条警告信息");
}
}
"app.log":日志文件名true:追加模式(false 会覆盖)SimpleFormatter:可读文本格式(默认是 XML)FileHandler fileHandler = new FileHandler(
"logs/app-%g.log",
1024 * 1024, // 每个文件 1MB
5, // 最多 5 个文件
true
);
生成文件示例:
app-0.log
app-1.log
handlers=java.util.logging.FileHandler
.level=INFO
java.util.logging.FileHandler.pattern = app.log
java.util.logging.FileHandler.limit = 1048576
java.util.logging.FileHandler.count = 5
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java -Djava.util.logging.config.file=logging.properties Main
logger.setUseParentHandlers(true);
自定义 Formatter:
fileHandler.setFormatter(new Formatter() {
public String format(LogRecord record) {
return record.getLevel() + ": " + record.getMessage() + "\n";
}
});
如果你用的是:
可以告诉我,我可以给你更合适的方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。