我正在尝试创建一个Java记录器文件,该文件将输出写入项目文件夹(NetBeans,MacOS)中的文件。我正在为学校项目这样做,所以我不能使用Log4j。我已经回顾了有关此主题的先前提出的问题,并尝试实施这些解决方案,但是我仍然看不到任何成功。我需要扩展文件路径,还是缺少主要组件?朝正确方向迈出的任何一步都将有所帮助,谢谢。
我尝试将文件路径扩展到从users文件夹一直到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次。我没有收到任何错误消息,但是所有输出都直接进入控制台。
答案 0 :(得分:0)
我没有收到任何错误消息,但是所有输出都直接进入控制台。
在代码中使用printConfig来确定记录器树的状态。为了查看输出到日志文件,您需要以下内容:
java0.log
的{{3}}中创建日志文件。如果在运行程序之前指定了文件路径并且目录不存在,通常会发生这种情况。Level.ALL
作为处理程序。null
)。 JDK没有附带任何东西,因此这不应该成为问题。回答这些问题,您应该能够确定为什么看不到日志文件。