【发布时间】:2019-11-05 22:16:08
【问题描述】:
我正在尝试创建一个 java 记录器文件,它将输出写入项目文件夹(NetBeans、MacOS)中的一个文件。我正在为一个学校项目做这个,所以我不能使用 Log4j。我已经查看了之前关于这个主题的问题并尝试实施这些解决方案,但我仍然没有看到任何成功。我是否需要扩展文件路径,或者是否有我遗漏的主要组件?朝着正确方向迈出的任何一步都会有所帮助,谢谢。
我尝试将文件路径从用户文件夹一直延伸到 netbeans 中的单个项目文件夹。我已经查看了很多资源和示例,但是无论我缺少什么元素,我都没有找到。
public class log {
private final static Logger LOGGER =
Logger.getLogger(log.class.getName());
private final static FileHandler handleLog = null;
public static void start() throws IOException,
SecurityException{
FileHandler handleLog = new
FileHandler("/Users/cassie/NetBeansProjects/GlobalConsulting-
userLog.%u.%g.txt", 1024 * 1024, 10, true);
SimpleFormatter simple = new SimpleFormatter();
handleLog.setFormatter(simple);
LOGGER.addHandler(handleLog);
LOGGER.setLevel(Level.INFO);
}
public static void main(String[] args) throws IOException,
SecurityException{
start();
LOGGER.info("------------------START--------------------");
}
}
当我在另一个文件中调用它时,我就是这样做的。
LOGGER.log(Level.INFO, "{0} logged in", currentUser.getUsername());
我希望当程序运行时,输出(用户登录)将打印到项目文件夹内的日志文件中,并在重写之前更新 10 次。我没有收到任何错误消息,但所有输出都直接转到控制台。
【问题讨论】:
-
您在课堂上使用的 Logger 类,它来自任何 Logging API 吗?
-
忽略我之前的评论。我可以知道如何将其称为另一个文件吗?
-
我这样称呼它:LOGGER.log(Level.INFO, "{0} logged in", currentUser.getUsername());
-
我的意思是,你如何执行其他类?其他类是否有自己的主要方法?如果可能,请同时发布其他课程的代码。