Log4j 掌舵人“托亚马尔”不保留该命令
尝试使用Log4j 掌舵人“托亚马尔”不保留该命令,log4j,kubernetes-helm,to-yaml,Log4j,Kubernetes Helm,To Yaml,尝试使用toYaml获取log4j2节form values.yml,但它不保留顺序 log4j2.yml: |- {{ toYaml .Values.log4j2 | indent 4 }} 输出- log4j2: Configuration: Appenders: Console: Filters: DuplicateLogFilter: ttlInSeconds: 60 MarkerF
toYaml
获取log4j2节form values.yml,但它不保留顺序
log4j2.yml: |-
{{ toYaml .Values.log4j2 | indent 4 }}
输出-
log4j2:
Configuration:
Appenders:
Console:
Filters:
DuplicateLogFilter:
ttlInSeconds: 60
MarkerFilter:
marker: TRACE
onMatch: ACCEPT
onMismatch: NEUTRAL
PatternLayout:
pattern: '%-5p | %d{yyyy-MM-dd HH:mm:ss,SSS} | [%t] [%X{AD.requestGUID}] [%X{trace.id}]
%x %c{1.}:%L - %m%n'
name: CONSOLE
target: SYSTEM_OUT
monitorInterval: 300
shutdownHook: disable
预期产量-
log4j2:
Configuration:
monitorInterval: 300
shutdownHook: disable
Appenders:
Console:
name: CONSOLE
target: SYSTEM_OUT
Filters:
MarkerFilter:
marker: TRACE
onMatch: ACCEPT
onMismatch: NEUTRAL
DuplicateLogFilter:
ttlInSeconds: 60
PatternLayout:
pattern: "%-5p | %d{yyyy-MM-dd HH:mm:ss,SSS} | [%t] [%X{AD.requestGUID}] [%X{trace.id}] %x %c{1.}:%L - %m%n"
值文件被解析为映射(或字典,如果您愿意),通常不需要映射结构来保留字段顺序。因此,您的问题不是
toYaml
函数本身的问题,而是在values.yaml
中放置log4j配置的问题
您可以做的是将log4j配置移动到单独的log4j2.yml文件(在图表的根目录中),并将其作为原始文件包括在内:
log4j2.yml: |-
{{- .Files.Get "log4j2.yml" | nindent 10 }}
(相应地调整缩进)