【问题标题】:Changing the log level for a running Actor system ?更改正在运行的 Actor 系统的日志级别?
【发布时间】:2014-04-30 03:04:28
【问题描述】:

我的resources/application.conf 如下所示。

akka {
  loggers = ["akka.event.slf4j.Slf4jLogger"]
  loglevel = "DEBUG"
}

我正在使用包含此 application.conf$sbt assembly 创建一个胖 jar,并部署此 jar 来运行我的演员。现在我可以在运行时更改程序的日志级别(从 DEBUG 到 INFO),而不会破坏我的 Actor 系统吗?如果是,如何?

我的 logback.xml 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.out</target>
        <encoder>
            <pattern>%X{akkaTimestamp} %-5level[%thread] %logger{0} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/myjobs.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>logs/myjobs.%i.log.zip</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>5</maxIndex>
        </rollingPolicy>

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>100MB</maxFileSize>
        </triggeringPolicy>

        <encoder>
            <pattern>%date{yyyy-MM-dd} %X{akkaTimestamp} %-5level[%thread] %logger{1} - %msg%n</pattern>
        </encoder>
    </appender>


    <logger name="akka" level="INFO" />

    <root level="DEBUG">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>

</configuration> 

【问题讨论】:

    标签: scala logging akka logback


    【解决方案1】:

    您可以使用system.eventStream.setLogLevel() 设置Akka 日志级别(在Actor 中,您可以使用context.system 作为起点)。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-11
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多