应用程序日志记录¶
本节介绍 DHIS2 中的应用程序日志记录。
日志文件¶
DHIS2 应用程序的日志输出被定向到多个文件和位置。 首先,日志输出被发送到标准输出。Tomcat 服务程序容器 通常会将标准输出输出到 "logs "下的一个文件:
属性
其次,日志输出被写入 DHIS2 主目录下的 "logs "目录。
环境变量所定义的目录下的 "logs "目录。有一个主
日志文件,以及各种后台进程的单独日志文件。
进程的单独日志文件。主文件还包括后台进程日志。日志文件
文件的上限为 50 Mb,日志内容会不断添加。
属性
<DHIS2_HOME>/logs/dhis.log
<DHIS2_HOME>/logs/dhis-analytics-table.log
<DHIS2_HOME>/logs/dhis-data-exchange.log
<DHIS2_HOME>/logs/dhis-data-sync.log
日志配置¶
要覆盖默认日志配置,您可以指定一个名为 属性,其名称为 log4j2.configurationFile ,值指向 [Log4j 版本 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) 配置文件,如下所示:
-配置文件=/home/dhis/config/log4j2.properties
Java 系统属性可通过 JAVA_OPTS 环境变量或在 tomcat 启动脚本中设置。 环境变量或在 tomcat 启动脚本中设置。
覆盖日志配置的第二种方法是在 dhis.conf 配置文件中指定日志属性。 属性。支持的属性有
#日志文件的最大大小,默认为'100MB'
logging.file.max_size = 250MB
#最大滚动日志归档文件数,默认为0
logging.file.max_archives = 2
DHIS2 最终将逐步停止将日志记录到标准输出/catalina.out。 因此建议使用 DHIS2_HOME 下的日志。
DHIS2 将提供以下背景值:
sessionId: Current user's session IDxRequestID:由X-Request-IDHTTP 头信息发送的字母数字 ID 为当前处理的请求;如果未提供,则为空
要在日志中使用上下文变量,请使用 -X{<name>} 将其添加到日志中。 模式中添加:
*%-5p %d {ISO8601} %m (%F [%t])%X{sessionId} %X{xRequestID}%n
日志级别配置{ #log-level-configuration }¶
要设置单个软件包的日志级别,可在 dhis.conf 中指定格式为 格式指定属性。例如,要将整个 Spring 框架的 日志级别为 DEBUG 及以上,可以指定
logging.level.org.springframework = DEBUG
logging.level.org.hisp.dhis = DEBUG
常见的日志级别是DEBUG、INFO、WARN和ERROR。
注
嵌入式 DHIS2 Jetty 版本不支持日志级别配置。
更新日志{ #changelog }¶
当系统中的某些实体被更改时,DHIS2 会将条目写入更改日志。 系统中的某些实体被更改时,DHIS2 会将条目写入更改日志。这些实体分为两类:聚合(Aggregate)和跟踪(tracker)。其中 汇总 "类别包括对汇总数据值的更改。跟踪 类别包括对跟踪实体属性值和事件数据值的更改。
更新日志的好处是可以查看对数据所做的更改。 数据所做的更改。禁用更新日志的好处是 性能提升,避免了向数据库写入更新日志项的成本,并减少了使用的数据库存储空间。 和减少数据库存储空间的使用。建议启用 更新日志,禁用时应格外小心。
聚合更新日志默认已启用。您可以通过 配置文件中使用以下属性控制其行为。可用的 选项为on(默认)和off:
属性
聚合更新日志,可以是 "开启"(默认)或 "关闭¶
changelog.aggregate = on ```
跟踪器更新日志是按程序和被跟踪实体类型配置的。在 维护应用程序中,可以为每个程序和被跟踪实体类型单独启用或禁用更改日志。 和被跟踪实体类型分别启用或禁用更改日志。