【问题标题】:slf4j logging issue - log file not getting generatedslf4j 日志记录问题 - 未生成日志文件
【发布时间】:2012-03-28 18:53:54
【问题描述】:

我正在使用 slf4j 而不是 java util 日志记录。我正在尝试放置 logging.properties 文件,以便我的 webapp 可以获取它。以下是我的 logging.properties 文件的样子:

# Logging
handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level = ALL

# File Logging
java.util.logging.FileHandler.pattern = c:/logs/myApp.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = FINE

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

com.foo.bar.level=ALL

在做 -Djava.util.logging.config.file="file_path/logging.properties。相反,我将 logging.properties 放在了我的 WEB-INF/classes 中并包含了这个文件夹作为eclipse中的类文件夹。我不知道这是否足以让事情正常工作。

没有生成日志文件 myApp.log,也没有在其中发生任何日志记录。但无论如何,日志记录仍然发生在 Eclipse 控制台上。

我怀疑它根本没有使用这个 logging.properties 文件。但后来我尝试了帖子中的建议 - Java Logging - where is my log file? - 我可以看到它打印了带有文件名的文件路径。

如果能在这方面提供一些帮助,我将不胜感激。

注意:我在 java util logging 上使用 slf4j。

【问题讨论】:

  • 试试...pattern = c:\logs\myApp.log
  • @DwB:我的问题不是 java util logging 无法找到 myApp.log。相反,它无法在我的 WEB-INF/classes 中找到 logging.properties - 抱歉,如果我不清楚这一点。

标签: java logging slf4j


【解决方案1】:

解决了这个问题。必须在 Arguments 选项卡中设置 -Djava.util.logging.config.file= "pathto\WEB-INF\classes\logging.properties - Open Server->Open Launch Configuration in Eclipse

【讨论】:

    【解决方案2】:

    请不要为您的日志使用绝对路径。相反,只需写:

    # File Logging
    java.util.logging.FileHandler.pattern = myApp.log
    

    然后您可以使用文件搜索工具查找 myApp.log,并使用基于您将找到的默认路径的相对路径。

    【讨论】:

    • 我的问题不是 java util logging 无法找到 myApp.log。相反,它无法在我的 WEB-INF/classes 中找到 logging.properties - 抱歉,如果我不清楚这一点。
    • 修复了问题。按照link 中的说明进行操作。必须在参数选项卡中设置 -Djava.util.logging.config.file= "pathto\WEB-INF\classes\logging.properties - Open Server->Open Launch Configuration in Eclipse
    【解决方案3】:

    JUL 属性文件是应用程序类加载器的never loaded from the classpath。 JUL 的类在系统类加载器的上下文中加载。您的应用程序的类路径在此级别上是未知的。因此,您需要手动指定文件位置:

    -Djava.util.logging.config.file=<location>
    

    默认位置是 JRE 目录中的lib/logging.properties

    这是一个关于 WebLogic 的类加载器层次结构的有用链接:

    https://docs.oracle.com/en/middleware/fusion-middleware/weblogic-server/12.2.1.4/wlprg/classloading.html#GUID-7932D476-4282-462E-AF84-0EAD3CD97021

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 2012-08-26
      • 2011-11-07
      • 2015-09-09
      相关资源
      最近更新 更多