[英]log4j2 converstion to Ecslayout and masking
Currently log masking for sensitive fields is working fine using log4j2, now I want to change the log format to ecs.目前敏感字段的日志屏蔽使用 log4j2 工作正常,现在我想将日志格式更改为 ecs。 so I made the changes in log4j2.xml and EcsLayout tag as below:
所以我在 log4j2.xml 和 EcsLayout 标签中做了如下更改:
<Configuration xmlns="http://logging.apache.org/log4j/2.0/config" status="OFF"
packages="com.usbank.digitalservices.common.log.mask">
<Properties>
<Property name="base.log.dir">./logs</Property>
<Property name="appenderPatternLayout">%d{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'} %-5p %-15c{1} [%X]: %spi%n</Property>
<Property name="maxLogFileSize">10 MB</Property>
<Property name="maxLogFiles">2</Property>
</Properties>
<Appenders>
<Console name="CONSOLELOG" target="SYSTEM_OUT" follow="true">
<!-- <PatternLayout pattern="${appenderPatternLayout}"/> -->
**<EcsLayout stackTraceAsArray="true" serviceName="my-api"/>**
</Console>
Now log is converted to json correctly but the masking is not working i mean appenderPatternLayout /spi not working.现在日志已正确转换为 json 但屏蔽不起作用我的意思是 appenderPatternLayout /spi 不起作用。
any suggestion for how to mask if EcsLayout, what could be parameters for appenderPatternLayout?关于如何屏蔽 EcsLayout 的任何建议,appenderPatternLayout 的参数是什么?
The %spi
pattern you are using is clearly provided by a private Log4j2 plugin from com.usbank.digitalservices.common.log.mask
.您使用的
%spi
模式显然是由com.usbank.digitalservices.common.log.mask
的私有 Log4j2 插件提供的。
The EcsLayout
can not take advantage of pattern converters, but the generic JSON Template Layout can. EcsLayout
不能利用模式转换器,但通用JSON 模板布局可以。 You just need to copy the embedded EcsLayout.json
template and replace the definition of "message" with:您只需要复制嵌入的
EcsLayout.json
模板并将“消息”的定义替换为:
"message": {
"$resolver": "pattern",
"pattern": "%spi",
"stackTraceEnabled": false
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.