我在akka documentaion中提到了一个配置了日志记录的应用程序
akka {
version="2.3.0"
loglevel = "DEBUG"
event-handlers = ["akka.event.slf4j.Slf4jLogger"]
}
和资源目录中的logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false" debug="false">
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%logger{36}] [%X{akkaSource}] [%X{sourceThread}] [%X{traceId}] : %m%n</pattern>
</encoder>
</appender>
<appender name="R" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/info.log</File>
<encoder>
<pattern>%date{ISO8601} %-5level [%logger{36}] [%X{akkaSource}] [%X{sourceThread}] : %m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${atmos.dir}/atmos.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
</rollingPolicy>
</appender>
<logger name="org.eclipse.jetty.util.log" level="INFO"/>
<!-- Play2: Off these ones as they are annoying, and anyway we manage configuration ourself -->
<logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" />
<logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" />
<logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" />
<root level="INFO">
<!--<appender-ref ref="stdout"/>-->
<appender-ref ref="R"/>
</root>
</configuration>
由于某种原因,我只有来自外部依赖关系的日志转到info.log文件,并且使用ActorLoggin
特征进行的所有记录都打印到控制台。
这让我疯狂,实际上并不知道我在做错了什么......
任何建议都将受到赞赏......
答案 0 :(得分:0)
要在单独的文件中启用Spray REST请求 - 响应的记录,我使用以下设置:
1)在Akka配置中:"spray.util.log-actor-paths-with-dots":"on"
2)在Logback配置中:
<logger name="akka.actor.path.separated.by.Dots" level="INFO">
<appender-ref ref="REST-FILE"/>
</logger>
代码中的 3)logRequestResponse
指令