Java 如何将日志跟踪从控制台导出到文本文件

Java 如何将日志跟踪从控制台导出到文本文件,java,jakarta-ee,Java,Jakarta Ee,我想将我的应用程序的日志导出到一个html文件中,直到现在日志都显示在eclipse的控制台上。 在我所有的类中,日志都是由 私有静态记录器Logger=Logger.getLogger(classname.class.getName()) 您可以使用Log4j或一些库来实现这一点 您可以导出为XML,例如 HTML肯定有类似的功能,请查看重新配置特定记录器: private static final Logger LOGGER = Logger.getLogger(ClassName.cl

我想将我的应用程序的日志导出到一个html文件中,直到现在日志都显示在eclipse的控制台上。 在我所有的类中,日志都是由 私有静态记录器Logger=Logger.getLogger(classname.class.getName())


您可以使用Log4j或一些库来实现这一点

您可以导出为XML,例如


HTML肯定有类似的功能,请查看重新配置特定记录器:

private static final Logger LOGGER
  = Logger.getLogger(ClassName.class.getName());
static
{
  try
  {
    LOGGER.addHandler(new FileHandler("mylog.xml"));
    // if you don’t want additional console output:
    LOGGER.setUseParentHandlers(false);
  } catch(IOException ex)
  {
    throw new ExceptionInInitializerError(ex);
  }
}

或更改全局配置:

  • 创建一个属性文件,如下所示:

    handlers=java.util.logging.FileHandler
    java.util.logging.FileHandler.pattern=mylog2.xml
    # add more options if you like
    
  • 使用
    -Djava.util.logging.config.file=
    运行应用程序


  • 在任何一种情况下:


    研究并

    而不是e.printStackTrace()创建一个Scanner方法并将“e”写入一个文件。我想要的是捕获所有控制台日志,因为我有几个类,因此,必须将这些类的执行跟踪添加到此文件中。您能解释一下为什么他应该使用第三方库而不是Java的内置日志API吗?这只是我的观点,不是唯一的解决方案,我们可以像在这里所做的那样讨论几个小时:使用这样的库可能有几十个原因,但是对于您在这里回答的问题,有什么原因吗?这只是作为HTML登录的一个可能的例子,我不能列出所有可能的例子。用户没有要求在没有任何外部库的情况下实现这一点,我也没有看到任何包名。
    handlers=java.util.logging.FileHandler
    java.util.logging.FileHandler.pattern=mylog2.xml
    # add more options if you like