如何使用Phantom更改Akka-Http中的日志级别

时间:2016-03-08 20:16:28

标签: logging akka akka-http phantom-dsl

我有一个新项目 Akka-http 2.4.2 com.websudos.phantom 1.22.0
一切正常但我不知道如何将日志级别更改为INFO所以幻像的DEBUG日志如下:

  

17:00:51.792 [cluster1-nio-worker-0] DEBUG   com.datastax.driver.core.Connection -   连接[/192.168.120.24:9042-1,inFlight = 0,关闭=假]是   不活动30秒,发送心跳17:00:51.931

     

[cluster1-nio-worker-0] DEBUG com.datastax.driver.core.Connection -   连接[/192.168.120.24:9042-1,inFlight = 0,关闭=假]心跳   查询成功

  

17:07:27.387 [system-akka.actor.default-dispatcher-10] DEBUG   com.websudos.phantom - 执行查询:SELECT * FROM   table1 WHERE user =   '1_1003600499'LIMIT 1;

会忽略控制台。

我可以将此配置放在 application.conf 文件中吗?如果是这样,如何?

解决方案:
正如@flavian回答(并且稍加修改)
1)在资源文件夹中创建文件logback.xml 2)复制并调整以下配置

<configuration scan="false">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>INFO</level>
    </filter>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -oijojj %msg%n</pattern>
    </encoder>
</appender>

<logger name="com.websudos.phantom" level="WARNING"/>

<root level="INFO">
    <appender-ref ref="STDOUT"/>
</root>

</configuration>

这将使日志仅在控制台上显示 INFO级别

1 个答案:

答案 0 :(得分:0)

Phantom提供兼容SLF4J / Logback的API,这意味着您需要做的就是在要配置的模块的resources文件夹中提供正确的logback.xml配置。

看看这个。

<configuration scan="false">
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <logger name="com.websudos.phantom" level="WARNING">
  </logger>

  <root level="INFO">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>