4.4. 覆盖日志文件的默认路径
如果您修改默认容器和修改服务日志文件的路径,还必须修改默认的日志文件路径。每个可组合的服务都有一个 < ;service_name>LoggingSource
参数。例如,对于 nova-compute 服务,参数是 NovaComputeLoggingSource
。
流程
要覆盖 nova-compute 服务的默认路径,请在配置文件中添加
NovaComputeLoggingSource
参数的路径:NovaComputeLoggingSource: tag: openstack.nova.compute file: /some/other/path/nova-compute.log
注意对于每个服务,
定义标签
和文件
。其他值默认是派生的。您可以修改特定服务的格式。这会直接传递给 Rsyslog 配置。
LoggingDefaultFormat
参数的默认格式为 /(?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d+)(?<pid>\d+)(?<priority>\S+)(?<message>.*)$/使用下列语法:<service_name>LoggingSource: tag: <service_name>.tag path: <service_name>.path format: <service_name>.format
以下片段是一个更复杂的转换示例:
ServiceLoggingSource: tag: openstack.Service path: /var/log/containers/service/service.log format: multiline format_firstline: '/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3} \d+ \S+ \S+ \[(req-\S+ \S+ \S+ \S+ \S+ \S+|-)\]/' format1: '/^(?<Timestamp>\S+ \S+) (?<Pid>\d+) (?<log_level>\S+) (?<python_module>\S+) (\[(req-(?<request_id>\S+) (?<user_id>\S+) (?<tenant_id>\S+) (?<domain_id>\S+) (?<user_domain>\S+) (?<project_domain>\S+)|-)\])? (?<Payload>.*)?$/'