当前位置: 首页 > 知识库问答 >
问题:

使用log4j2-gelflayout,有没有办法禁止在最终负载中添加下划线

丁阎宝
2023-03-14

我们正在尝试设置一个自定义字段,但是当使用键值配置时,带有log4j的GelfLayout似乎注入了一个低于分数。有没有办法覆盖它。

下面是配置:

 <Console name="GreyLogSysOut" target="SYSTEM_OUT">                
        <GelfLayout compressionType="OFF" includeStackTrace="true" includeThreadContext="true" >  
            <KeyValuePair key="host" value="$${ctx:mdchost}" />            
            <KeyValuePair key="level" value="3" />
            <KeyValuePair key="GL_timestamp" value="${date:yyyy-MM-dd'T'HH:mm:ss.SSSZ}" />
            <KeyValuePair key="GL_timestamp" value="${date:yyyy-MM-dd'T'HH:mm:ss.SSSZ}" />                                        
            <KeyValuePair key="GL_environment" value="$${ctx:mdcenv}" />
            <KeyValuePair key="GL_userid" value="$${ctx:mdcLogAgentId}" />
            <KeyValuePair key="GL_process" value="PriPolApps" />
            <KeyValuePair key="GL_appclass" value="PriPolApps" />
            <KeyValuePair key="GL_appid" value="$${ctx:mdcappid}" />
            <KeyValuePair key="GL_sessionId" value="$${ctx:mdcLogSessionId}" />
            <KeyValuePair key="GL_correlationId" value="$${ctx:correlationId}" />                
            <KeyValuePair key="GL_logdir" value="${sys:appserver.Name}" />
            <KeyValuePair key="GL_jvm" value="$${ctx:jvm}" />
        </GelfLayout>        
    </Console>   

但是输出注入强调,有没有办法去除。

“_GL_correlationId”:“${ctx:correlationId}”,“_GL_logdir”:“/usr/local/pfs/logs/server6/”,“_GL_jvm”:“${ctx:jvm}”,

共有1个答案

龙令
2023-03-14

是的,有一种方法可以去除这个。答案很简单。

只需使用定制GelfLayout。您可以使用上面的配置,但要删除includeStackTraceincludeThreadContextcustomFields行:

 <GelfLayout compressionType="OFF" includeStackTrace="true" includeThreadContext="true" >  
            <KeyValuePair key="host" value="$${ctx:mdchost}" />            
            <KeyValuePair key="level" value="3" />
            <KeyValuePair key="GL_timestamp" value="${date:yyyy-MM-dd'T'HH:mm:ss.SSSZ}" />                                            
            <KeyValuePair key="GL_environment" value="$${ctx:mdcenv}" />
            <KeyValuePair key="GL_userid" value="$${ctx:mdcLogAgentId}" />            
        </GelfLayout>

您将获得以下输出:

“_GL_correlationId”:“${ctx:correlationId}”,“_GL_logdir”:“/usr/local/pfs/logs/server6/”,“_GL_jvm”:“${ctx:jvm}”,

 类似资料:
  • 我对log4j相当陌生。正在尝试使用log4j2。要配置的xml。我将该文件添加到构建路径,它工作了一次,但不再工作。 这是我的log4j2.xml: 我把它拆下来,只是为了测试它,让它工作。我检查了调试,并且记录器配置使用默认值。 我还试着给文件命名log4j2-test.xml. 有什么想法吗? 谢啦

  • 我试图使用Kubernetes来明确定义配置和部署,我也喜欢Kubernetes的pod调度机制。目前,只有2个应用程序在3个节点上的2个副本上运行。但是谷歌的Kubernetes引擎的负载平衡器对于像我们这样的小应用程序来说非常昂贵(至少目前如此),同时我不愿意改为在容器上托管单个实例的解决方案,也不愿意在Docker swarm等上部署应用程序。 使用节点的IP似乎是一种黑客行为,我认为这可能

  • 问题内容: 我想在Python中使用PhantomJS。我用谷歌搜索了这个问题,但是找不到合适的解决方案。 我发现 可能是一个不错的选择。但是我无法通过一些争论。 使用可能是目前合适的解决方案。我想知道是否有更好的解决方案。 有没有办法在Python中使用PhantomJS? 问题答案: 在python中使用PhantomJS的最简单方法是通过Selenium。最简单的安装方法是 安装NodeJS

  • 我想在Python中使用PhantomJS。我谷歌了这个问题,但找不到合适的解决方案。 我发现可能是一个不错的选择。但我无法向它传递一些论据。 使用目前可能是一个合适的解决方案。我想知道是否有更好的解决办法。 有没有办法在Python中使用PhantomJS?

  • 问题内容: 我正在使用Docker使用SSL创建特定的nginx容器。 但是我不希望我的SSL文件原样保留在我的版本控制系统中。因此,它们是加密的。在构建Docker容器时,我需要密码来解密文件并测试我的Nginx配置。 我用来在安装脚本中获得提示,但Docker只是在提示上停止了: 做某事时有什么办法得到提示吗? 谢谢你的帮助 :) 问题答案: 好吧,在四处搜寻之后,在期间没有提示的方法。它被设

  • 我希望我的Xamarin表单应用程序禁用屏幕截图。有办法这样做吗?注意:我在纯Android和iOS版本中找到了解决方案,但我需要Xamarin解决方案。如果有一种方法可以以某种方式嵌入纯Android和iOS解决方案,我也接受这一点。谢谢:)