如何使用 Phantom 更改 Akka-Http 中的日志级别
How to change log level in Akka-Http with Phantom
我有一个新项目 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 -
Connection[/192.168.120.24:9042-1, inFlight=0, closed=false] was
inactive for 30 seconds, sending heartbeat 17:00:51.931
[cluster1-nio-worker-0] DEBUG com.datastax.driver.core.Connection -
Connection[/192.168.120.24:9042-1, inFlight=0, closed=false] heartbeat
query succeeded
和
17:07:27.387 [system-akka.actor.default-dispatcher-10] DEBUG
com.websudos.phantom - Executing query: 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 级别以上
Phantom 提供 SLF4J/Logback 兼容 API,这意味着您需要做的就是在要配置的模块的资源文件夹中提供正确的 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>
我有一个新项目 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 - Connection[/192.168.120.24:9042-1, inFlight=0, closed=false] was inactive for 30 seconds, sending heartbeat 17:00:51.931
[cluster1-nio-worker-0] DEBUG com.datastax.driver.core.Connection - Connection[/192.168.120.24:9042-1, inFlight=0, closed=false] heartbeat query succeeded
和
17:07:27.387 [system-akka.actor.default-dispatcher-10] DEBUG com.websudos.phantom - Executing query: 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 级别以上
Phantom 提供 SLF4J/Logback 兼容 API,这意味着您需要做的就是在要配置的模块的资源文件夹中提供正确的 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>