让Java将日志写入文件时出现问题
我对java和编码非常陌生,所以请理解我在这方面非常幼稚 我试图让Java将日志写入.txt文件。我已经研究了几个小时了,我的大脑受了太多的伤害,无法继续寻找。我希望你们能看看这个,告诉我出了什么问题。下面是代码。这是写在我的Mac上的时间,但最终我会让它在Windows上运行让Java将日志写入文件时出现问题,java,netbeans-8,file-writing,java.util.logging,Java,Netbeans 8,File Writing,Java.util.logging,我对java和编码非常陌生,所以请理解我在这方面非常幼稚 我试图让Java将日志写入.txt文件。我已经研究了几个小时了,我的大脑受了太多的伤害,无法继续寻找。我希望你们能看看这个,告诉我出了什么问题。下面是代码。这是写在我的Mac上的时间,但最终我会让它在Windows上运行 import java.util.logging.FileHandler; import java.util.logging.Logger; import java.util.logging.Level; public
import java.util.logging.FileHandler;
import java.util.logging.Logger;
import java.util.logging.Level;
public class WriteLogEntriesToLogFile extends Login {
public WriteLogEntriesToLogFile(String[] args) throws Exception {
boolean append = true;
FileHandler handler = new FileHandler("Test.logon.log.txt");
Logger logger = Logger.getLogger("/Downloads/log.txt");
logger.addHandler(handler);
logger.severe("severe message");
logger.warning("warning message");
logger.info("info message");
logger.config("config message");
logger.fine("fine message");
logger.finer("finer message");
logger.finest("finest message");
}
}
我确实觉得我错过了一些东西(或者很多东西)。感谢您的帮助 据我所知,您的日志正在输出到一个文件,并且似乎正在工作 但是,我注意到日志很难解析,因为其格式是基于xml记录的,所以我在解决方案中使用了
simpleformter
,在行级别读取日志
解决方案:
publicstaticvoidmain(字符串[]args){
Logger=Logger.getLogger(“”);
FileHandler文件处理程序;
试一试{
fileHandler=newFileHandler(“Test.logon.log.txt”);
addHandler(fileHandler);
SimpleFormatter formatter=新的SimpleFormatter();
setFormatter(格式化程序);
logger.info(“0.0-我的第一个日志”);
logger.info(“1.0-测试日志”);
}catch(SecurityException | IOException e){
e、 printStackTrace();
}
}
我希望这会有所帮助。从我所知道的情况来看,您的日志正在输出到一个文件,并且似乎正在工作 但是,我注意到日志很难解析,因为其格式是基于xml记录的,所以我在解决方案中使用了
simpleformter
,在行级别读取日志
解决方案:
publicstaticvoidmain(字符串[]args){
Logger=Logger.getLogger(“”);
FileHandler文件处理程序;
试一试{
fileHandler=newFileHandler(“Test.logon.log.txt”);
addHandler(fileHandler);
SimpleFormatter formatter=新的SimpleFormatter();
setFormatter(格式化程序);
logger.info(“0.0-我的第一个日志”);
logger.info(“1.0-测试日志”);
}catch(SecurityException | IOException e){
e、 printStackTrace();
}
}
我希望这能有所帮助。有错误消息吗?我正试图让Java将日志写入.txt文件,换句话说,这对您来说并不合适。但实际问题是什么?是否未创建日志文件?它已创建但为空?我在您发布的代码中注意到一件事:传递给方法的参数是
记录器的任意名称,而不是日志文件的路径-假设“/Downloads/log.txt”是日志文件的路径。日志文件没有创建。在NetBeans中的输出下,我看到了信息,但我需要它来写入文本文件。有错误消息吗?我正在尝试让Java将日志写入.txt文件。换句话说,这对您来说并不合适。但实际问题是什么?是否未创建日志文件?它已创建但为空?我在您发布的代码中注意到一件事:传递给方法的参数是记录器的任意名称,而不是日志文件的路径-假设“/Downloads/log.txt”是日志文件的路径。日志文件没有创建。在NetBeans中的输出下,我看到了信息,但我需要将其写入文本文件。我找不到log.text文件所在的位置,我也在努力添加应该记录的内容。我需要它来记录用户名、日期、时间以及登录是否成功。对我来说,日志文件位于项目的根目录下。但它是按预期使用日志生成的。您是对的,它就在那个里。非常感谢。您是否可以指导我在正确的方向记录用户名和成功登录或不。既然日志中显示了日期和时间?当然可以,只需将用户名和布尔值success/failure添加到logger.info()语句中,就可以了。最后一个问题。我怎样才能让它不那么凌乱,用户名没有这样做。2020年3月29日下午1:58:02 java.util.logging.LogManager$RootLogger日志信息:Message javax.swing.JLabel[,1,26,87x26,无效,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,horizontalAlignment=前导,horizontalTextPosition=尾随,iconTextGap=4,labelFor=,text=无效用户..,verticalAlignment=中心,verticalTextPosition=中心]我找不到log.text文件的位置,我也在努力添加它应该记录的内容。我需要它来记录用户名、日期、时间以及登录是否成功。对我来说,日志文件位于项目的根目录下。但它是按预期使用日志生成的。你是对的,它就在那里。谢谢!你愿意吗能够指导我正确记录用户名和是否成功登录。因为日期和时间显示在日志中?当然可以,只需将用户名和布尔值成功/失败添加到logger.info()中即可最后一个问题。我怎样才能让它不那么混乱,username没有这样做。2020年3月29日1:58:02 PM java.util.logging.LogManager$RootLogger log INFO:Message javax.swing.JLabel[,1,26,87x26,无效,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,horizontalAlignment=前导,horizontalTextPosition=尾随,iconTextGap=4,labelFor=,text=无效用户..,verticalAlignment=中心,verticalTextPosition=中心]