小编典典

使用java.util.logging.Logger时如何在文本文件中写入日志

java

我遇到一种情况,我想将我创建的所有日志写入文本文件。

我们正在使用java.util.logging.Logger API生成日志。

我试过了:

private static Logger logger = Logger.getLogger(className.class.getName());
FileHandler fh;   
fh = new FileHandler("C:/className.log");   
logger.addHandler(fh); 

但是仍然只能在控制台上获取我的日志。


阅读 733

收藏
2020-03-16

共2个答案

小编典典

试试这个样本。这个对我有用。

public static void main(String[] args) {  

    Logger logger = Logger.getLogger("MyLog");  
    FileHandler fh;  

    try {  

        // This block configure the logger with handler and formatter  
        fh = new FileHandler("C:/temp/test/MyLogFile.log");  
        logger.addHandler(fh);
        SimpleFormatter formatter = new SimpleFormatter();  
        fh.setFormatter(formatter);  

        // the following statement is used to log any messages  
        logger.info("My first log");  

    } catch (SecurityException e) {  
        e.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  

    logger.info("Hi How r u?");  

}

在MyLogFile.log产生输出

Apr 2, 2013 9:57:08 AM testing.MyLogger main  
INFO: My first log  
Apr 2, 2013 9:57:08 AM testing.MyLogger main  
INFO: Hi How r u?

编辑:

要删除控制台处理程序,请使用

logger.setUseParentHandlers(false);

因为ConsoleHandler已向父记录器注册,所有记录器都源自该记录器。

2020-03-16
小编典典

应该像下面这样:

http://{server:port}/comment METHOD:POST

{"author":"abc","content":"PQROHSFHFSHOFSHOSF", "post":"http://{server:port}/post/1"}
2020-03-16