Confluence 6 配置日志

我们推荐你根据你的需求来配置你自己的 Confluence 日志。你可以有下面 2 种方法来修改你的日志:

  • 通过 Confluence 管理员控制台进行配置 – 你的修改仅在本次修改有效,下次重启后将会把所有修改重置。
  • 编辑属性文件 – 你的修改将会在下次重启后生效同时针对所有的会话。

这 2 种方式的修改的方法将在下面的章节中描述。在一些很不常见的情况下,你可能同时还需要修改 logging.properties 文件。

**术语:**在 log4j 中,一个 ‘logger’ 就是一个命名的实体。日志名是大小写敏感的,这些命名还遵循分段命名的结构。例如一个 logger 被命名为 com.foo,那这个名是 com.foo.Bar 的上级名称。
在 Confluence 管理员控制台中配置日志你可以通过 **Confluence 管理员控制台(Administration Console)**来修改 Confluence 的一些日志的表现。任何按照这个方法修改的的内容只会在当前 Confluence 的运行实例阶段有效(重启 Confluence 后,你修改的配置将失效)。这里修改的配置内容将不会写入到 log4j.properties 文件中,同时当你在下一次停止 Confluence 的时候修改的内容将会被丢弃。

Confluence 的管理员控制台不能修改所有的日志表现。如果你不能在下面的描述的内容中找到修改的对象,那么你需要停止 Confluence 后编辑日志属性文件
Confluence 管理员控制台中的 日志和属性(Logging and Profiling)界面显示了当前定义的所有日志列表。在这个界面中你可以:

  • 打开或者关闭 page profiling
  • 打开或者关闭 SQL 语句日志。
  • 为一个类或者包添加一个新的日志。
  • 为一个类或者包删除一个新的日志。
  • 为一个类或者包设置日志的级别(INFO, WARN, FATAL, ERROR 或者 DEBUG)。
  • 重置所有的日志级别到 predefined 属性。

修改日志配置

  • 在屏幕的右上角单击 控制台按钮 ,然后选择 General Configuration 链接。

  • 在左侧面板中**管理(Administration)**的界面下面选择 日志和配置(Logging and Profiling)
    \ 16x16 你需要具有 System Administrator 权限才可以进行这个操作。

  • **日志和配置(Logging and Profiling)**界面将会显示,如下图显示,使用下面的的指南来记录 Confluence 的日志表现:

    • 性能属性(Performance Profiling) — 请参考页面Troubleshooting Slow Performance Using Page Request Profiling 中的内容

    • SQL 日志(SQL Logging)’ — 单击 启用 SQL 日志(Enable SQL Logging)按钮来启用记录系统运行的 SQL 脚本。
      \ 16x16 如果你需要启用日志 SQL 参数变量,你需要修改 properties file 文件中的设置。这个配置的修改在管理员控制台界面中不可用。

    • Log4j 日志(Log4j Logging) — 单击下面的的属性按钮来重置你的日志定义为默认的初始化定义:

      • ’Production’ 属性定义了标准的属性,推荐你在生产环境中使用。
      • Diagnostic’ 属性定义了更多的属性配置,能够为你提供更多的日志信息。这个配置将会降低你系统的性能并且让你日志文件更快的填充满。
    • Add New Entry’ — 输入类或者包的名字到边上的文本输入框中,然后单击 添加实体(Add Entry)按钮。这个新的日志将会显示 已存在的级别(Existing Levels) 在下面的界面中。

    • Existing Levels’ - 这个是当前你 Confluence 实例中的操作。

      • 你可以通过选择 New Level 的下拉列表来修改日志级别。请阅读 Apache documentation 页面中的内容来定义每一个级别。
      • 单击 ‘Remove’ 链接来停止日志记录你选择的类和包的名称。
  • 单击 保存(Save)按钮来保存你在 ‘Existing Levels’ 部分所做的任何修改。

屏幕截图:修改日志级别和参数


编辑属性文件希望配置日志级别和其他基础参数的设置,你需要停止 Confluence 然后修改 log4j.properties 文件的设置,如果上面的描述。

这个属性文件包括了一系列的不同日志并且可以被你取消备注,如果你希望记录一些特定的组件。请参考 Apache log4j documentation 页面中的内容。
请参考 Working with Confluence Logs 页面中的的内容来获得一些配置的指南,你可能会发现这些指南对你对问题的诊断会比较有用。

针对 logging.properties 中的 java.util.logging 配置级别一些库在 Confluence 中被用来使用 java.util.logging 而不是 log4j 或者 slf4j。这些库包括:

  • com.sun.jersey
  • org.apache.shindig
  • net.sf.ehcache

Confluence 的 logging.properties 文件设置将 java.util.logging 重定向为 log4j 的特定级别,这个重定向是通过 slf4j 操作的。

为了增加这些库的日志级别,你必须首先配置 logging.properties 文件中的 /confluence/WEB-INF/classes/。这些日志级别与 Logj 的级别不同,如这里列出来的。

例如,为了让 shindig 增加在日志中输出的内容信息,需要修改 in the logging.properties 文件:
org.apache.shindig.level = INFO

org.apache.shindig.level = FINE

然后需要使用上面提供的 2 中方式中的一种来配置 log4j 级别。