代码之家  ›  专栏  ›  技术社区  ›  Alex Fruzenshtein

Logback不写入第三方日志记录服务

  •  0
  • Alex Fruzenshtein  · 技术社区  · 7 年前

    我正在设置更复杂的日志记录,而不是简单的控制台输出。logback通过 ConsoleAppender . 但是当我增加额外的 RollbarAppender 这对它不起作用。

    下面是logback.xml的一个示例

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration >
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%highlight([%level]) - [%date] - [%logger]  %msg%n</pattern>
            </encoder>
        </appender>
        <appender name="ROLLBAR" class="com.rollbar.logback.RollbarAppender">
            <accessToken>VERY_SECRET_TOKEN</accessToken>
            <encoder>
                <pattern>%highlight([%level]) - [%date] - [%logger]  %msg%n</pattern>
            </encoder>
        </appender>
    
        <logger name="akka" level="ERROR" additivity="false">
            <appender-ref ref="ROLLBAR" />
        </logger>
        <logger name="slick" level="ERROR"/>
    
        <root level="INFO">
            <appender-ref ref="CONSOLE" />
        </root>
    
    </configuration>
    

    同时,此配置工作正常,并将日志发送到第三方日志记录服务,但不写入控制台:(

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration >
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%highlight([%level]) - [%date] - [%logger]  %msg%n</pattern>
            </encoder>
        </appender>
        <appender name="ROLLBAR" class="com.rollbar.logback.RollbarAppender">
            <accessToken>VERY_SECRET_TOKEN</accessToken>
            <encoder>
                <pattern>%highlight([%level]) - [%date] - [%logger]  %msg%n</pattern>
            </encoder>
        </appender>
    
        <logger name="akka" level="INFO" additivity="false">
            <appender-ref ref="CONSOLE" />
        </logger>
        <logger name="slick" level="ERROR"/>
    
        <root level="ERROR">
            <appender-ref ref="ROLLBAR" />
        </root>
    
    </configuration>
    

    所以我很困惑。如何以这种方式使日志记录工作:

    写入控制台的信息级事件

    写入控制台+滚动条的错误级别事件

    1 回复  |  直到 7 年前
        1
  •  0
  •   Alex Fruzenshtein    7 年前

    <filter> <root>

    <appender name="RollBar" class="com.rollbar.logback.RollbarAppender">
      <accessToken> VERY_SECRET_TOKEN </accessToken>
      <environment>PROD</environment>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
          <level>ERROR</level>
        </filter>
    </appender>
        ...
    <root level="INFO">
      <appender-ref ref="CONSOLE" />
      <appender-ref ref="RollBar" />
    </root>