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

Spring cloud客户端存在远程日志配置问题

皇甫敏达
2023-03-14

我的基础结构很简单,我有一个git服务器、一个spring cloud config服务器和一个从config服务器和git获取配置的微服务。我从app-name获得这个配置文件

server:
  port: 8893
logging:
  config: http://xxx.xx.xx.xx:3000/admin123/config-repository/raw/master/log4j2.xml

和我的log4j2配置xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="all" name="MyApp" packages="">
    <Appenders>
        <Syslog name="RFC5424" format="RFC5424" host="xxx.xx.xx.75" port="514"
            protocol="TCP" appName="MyApp" mdcId="mdc" includeMDC="true"
            facility="SYSLOG" enterpriseNumber="18060" newLine="true" messageId="Audit" id="App" 
            reconnectionDelayMillis="100000">
        </Syslog>
        <Async name="Async">
            <AppenderRef ref="RFC5424" />
        </Async>
    </Appenders>
    <Loggers>
        <Logger name="com.mycorp" level="all">
            <AppenderRef ref="Async" />
        </Logger>
        <Root level="all">
            <AppenderRef ref="Async" />
        </Root>
    </Loggers>
</Configuration>

问题是应用程序开始在syslog上进行日志记录,然后开始在控制台上进行日志记录,但停止在syslog上进行写入。因此,log4j配置与应用程序配置一起读取,但在这中间发生了一些事情。类似于日志配置仅应用于应用程序的引导程序。我做了一些本地测试,我知道looging.config必须放在application.yml上,而不是放在bootstrap.yml中,如果这样做,我会得到相同的结果。也许我否认了一些概念。

以下是syslog的最后一部分:

然后在控制台上写入日志:

共有1个答案

蔚楷
2023-03-14

它永远不会起作用,spring boot文档允许您使用logging.config仅将配置文件作为参数传递给jar。例如,如果您可以使用logging.config将url写入您的配置,那么spring boot将覆盖该值,并将使用控制台日志记录方式。

 类似资料:
  • 我们的应用程序使用ActiveMQ 5.9。0客户端。当我们加载应用程序时,控制台上会记录一条消息,说明: log4j:WARN找不到记录器(org.apache.activemq.thread.TaskRunnerFactory)的追加器 log4j:警告请正确初始化log4j系统 log4j:警告请参阅http://logging.apache.org/log4j/1.2/faq.html#n

  • 我有一个在远程服务器(debian linux)上运行的Java应用程序。该应用程序将运行时信息记录到文件中。 偶尔,支持人员需要使用客户端工具(不是在服务器上运行,而是在支持人员的桌面上运行)分析日志。然后,该工具需要远程访问 < li >服务器上的旧日志文件 < li >当前日志文件(实时增长) 我正在搜索一种良好的(=标准,灵活,安全,调试良好等)方式将这些过去和现在的日志消息流式传输到我的

  • 客户端配置项设置示例 lookoutConfig.setProperty(LookoutConfig.LOOKOUT_AGENT_HOST_ADDRESS,"127.0.0.1"); 客户端配置项说明 配置项 对应 SpringBoot 配置项 默认配置值 说明 lookout.enable com.alipay.sofa.lookout.enable true 功能开关,默认是 true。如

  • 我试图设置远程jmeta服务器和jmeta客户端。 我能够启动位于机架空间云上的jmeter服务器。 我的桌面位于具有 NAT 公共 IP 地址的防火墙后面。我在防火墙上打开了端口 1099,并为桌面添加了一个公共 IP。还在桌面上的jmeter属性上添加了远程地址,并启动了jmeter GUI客户端。 当我点击从客户端远程启动时,我能够看到此控制台日志到达jmeter服务器的请求 在主机111.

  • 我明白了。错误和不理解缺少的部分。 在nod和chromedriver上安装了chromehttps://github.com/SeleniumHQ/selenium/wiki/ChromeDriver 用Chrome驱动程序测试 消息:测试方法SeleniumGridSimkeTest.单元测试1.引发异常:System.无效操作异常:无法创建新服务: ChromeDriverService构建

  • 我有一些神秘的行为在我的Vaadin应用程序(随机我得到一个白色的浏览器窗口)。因此,我想激活日志一般为客户端和服务器端,希望能检测到一些有用的提示,什么是问题。为了激活客户端(GWT)的日志记录,我找到了如下内容,它必须放在widgetset.GWT.xml中: 但当我启动应用程序并记录了一些内容时,我只能看到一条错误消息: 但我要把它放在哪里?据我所知,Vaadin使用Java记录器。我正在使