Skip to main content

Log DB 配置说明

1. 配置参数一览(log-db 节点)

log-db:
enabled: ${LOG_DB_ENABLED:false} # 是否启用 Log DB 存储
driver-class-name: ${LOG_DB_DRIVER_CLASS_NAME:org.postgresql.Driver}
jdbc-url: ${LOG_DB_URL:jdbc:postgresql://127.0.0.1:5432/log_db?currentSchema=log_db}
username: ${LOG_DB_USER:postgres}
password: ${LOG_DB_PASSWORD:postgres} # 后续建议改为从 Vault 读取
maximum-pool-size: ${LOG_DB_MAXIMUM_POOL_SIZE:20}
minimum-idle: ${LOG_DB_MAXIMUM_IDLE:2} # 注意:键名可能应为 minimum-idle
idle-timeout: ${LOG_DB_IDLE_TIMEOUT:600000} # ms
connection-timeout: ${LOG_DB_CONNECTION_TIMEOUT:30000} # ms
max-lifetime: ${LOG_DB_MAXIMUM_LIFETIME:1800000} # ms
longest-update-timeout: ${LOG_DB_LONG_UPDATE_TIMEOUT:3000} # ms,最长更新超时
async-write-enabled: ${LOG_DB_ASYNC_WRITE_ENABLED:false} # 是否异步写入日志
executor:
core-pool-size: ${LOG_DB_EXECUTOR_CORE_POOL_SIZE:10} # 异步写线程池核心数
max-pool-size: ${LOG_DB_EXECUTOR_MAX_POOL_SIZE:20} # 异步写线程池最大数

2. 重要配置参数详解

配置项默认值说明建议/注意事项
LOG_DB_ENABLEDfalse是否开启 Log DB 持久化功能。
开启后会将内存中的以下数据写入 log_db:
• flow_instance
• job_instance_history
• job_instance
• action_log
生产环境建议开启
LOG_DB_URL-PostgreSQL 连接字符串(包含 schema)必须指向独立的 log 数据库
LOG_DB_USER
LOG_DB_PASSWORD
postgres数据库用户名 / 密码密码强烈建议后续改用 Vault 或 Secrets 管理
LOG_DB_ASYNC_WRITE_ENABLEDfalse是否采用异步方式写入日志到 log_db建议生产环境开启,可降低主流程延迟
LOG_DB_EXECUTOR_CORE_POOL_SIZE
LOG_DB_EXECUTOR_MAX_POOL_SIZE
10
20
异步写日志的线程池配置(核心线程数 / 最大线程数)根据日志量调整,过小会导致日志堆积

3. 前置条件与重要提醒

  • 必须事先创建并准备好 log 数据库(PostgreSQL)
  • log 库中的基础数据需与主库保持一致(如流程定义、节点信息等可能需要同步)
  • 开启 Log DB 后,主要影响的表(对象):
    • flow_instance
    • job_instance
    • job_instance_history
    • action_log

4. 推荐生产环境配置示例

log-db:
enabled: true
jdbc-url: jdbc:postgresql://pg-log.example.com:5432/log_db?currentSchema=log_db
username: log_user
password: password
maximum-pool-size: 30
minimum-idle: 5
async-write-enabled: true
executor:
core-pool-size: 16
max-pool-size: 32

如有特定场景(日志量极大、高并发、读写分离等),可以进一步调整连接池和线程池参数。

pic