配置独白以通过Symfony 4中的TCP发送GELF



我在我的honolog.yaml文件中具有以下配置:

monolog:
    handlers:
        main:
            type: stream
            path: "php://stdout"
            level: debug
            channels: ["!event"]
        gelf:
            type: gelf
            publisher:
                hostname: mygelfhost.com
                port: 12201
        console:
            type: console
            process_psr_3_messages: false
            channels: ["!event", "!doctrine", "!console"]

,但它仅使用UDP将消息发送到mygelfhost.com。当我尝试放置时:

hostname: tcp://mygelfhost.com

我收到以下错误:

  Failed to create socket-client for udp://tcp://log-dev.hpa.lis-dev.net:12201: php_network_getaddresses: getaddrinfo failed: Name or service not known (0)  

我的目标是通过TCP将日志发送到同一主机,我在此处检查了配置:https://github.com/symfony/symfony/monolog-bundle/blob/blob/master/master/depparendendentignity/configuration/configuration.php#l25 with with with没有可能的解决方案。

在 @chase的答案中构建:

monolog:
    handlers:
        gelf:
            type: gelf
            publisher: my_tcp_gelf_publisher 

上面的区别是my_tc_gelf_publisher是发布者对象,而不是处理程序对象。您想告诉处理程序,哪个出版商要使用&quort" my_tc_gelf_publisher&quot&quot&quort&quort&quort&quort at services中的定义。yaml

in services.yaml:

services:
    my_tcp_gelf_publisher:
        class: GelfPublisher
        arguments: ["@gelf.tcp_transport"]
    gelf.tcp_transport:
        class: GelfTransportTcpTransport
        arguments:
            - "mygelfhost.com" # Hostname
            - 12201 #port  

这几乎是相同的,除非您需要在引号中将 @gelf.tcp_transport服务参考放置,否则您会遇到缩放器错误。

奖励提示,如果您决定配置运输以使用端口12202(gelf transport tcptransport的SSL端口(,请确保确保您的端点支持SSL,并提供正确配置的SSLOPTIONS对象,否则请使用标准端口12201(或任何其他端口(。

您需要指定GELF的传输。默认情况下它使用UDP。

monolog:
    handlers:
        gelf:
            type: gelf
            id: my_tcp_gelf_publisher 

在您的服务中:

services:
    my_tcp_gelf_publisher:
        class: GelfPublisher
        arguments: [@gelf.tcp_transport]
    gelf.tcp_transport:
        class: GelfTransportTcpTransport
        arguments:
            - "mygelfhost.com" # Hostname
            - 12201 #port                  

类似的东西应该起作用,但是我还没有测试过代码。基于定义发布者和配置示例:https://github.com/bzikarsky/gelf-php

相关内容

  • 没有找到相关文章

最新更新