我遇到一种情况,我想将我创建的所有日志写入文本文件。
我们正在使用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);
但是仍然只能在控制台上获取我的日志。
试试这个样本。这个对我有用。
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已向父记录器注册,所有记录器都源自该记录器。
应该像下面这样:
http://{server:port}/comment METHOD:POST {"author":"abc","content":"PQROHSFHFSHOFSHOSF", "post":"http://{server:port}/post/1"}