如何在spray-can服务器中生成日志文件

时间:2014-05-20 19:04:15

标签: logging spray

我无法确定如何获取日志文件。对日志记录的其他更改 - 包括在控制台上设置DEBUG级别 - 正在运行。

以下是resources / application.conf的更新:

akka {
  loglevel = DEBUG
  event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
}

这是resources / 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>%date{MM/dd HH:mm:ss.SSS} %-5level[%.15thread] %logger{1} - %msg%n</pattern>
        </encoder>
    </appender>

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>akka.log</file>
        <append>true</append>
        <encoder>
            <pattern>%date{MM/dd HH:mm:ss} %-5level[%thread] %logger{1} - %msg%n</pattern>
        </encoder>
    </appender> 

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

</configuration>

正在通过

访问记录器
class MyWebsocketServer extends Actor with ActorLogging {
..
log.info("I see this on the Console but no files to be found..")

更新

以下是流程开始时的输出。请注意,只有&#34;默认&#34;提到记录器。

[info] Running com.huawei.swlab.sparkpoc.spray.SimpleServer
[DEBUG] [05/21/2014 11:46:23.039] [run-main] [EventStream(akka://default)] logger log1-Logging$DefaultLogger started
[DEBUG] [05/21/2014 11:46:23.041] [run-main] [EventStream(akka://default)] Default Loggers started

很明显,没有提取logback.xml。我从git clone&#39; d dir:

运行以下命令
sbt run

这显然不适用于akka系统不寻找src / main / resources。我将改为对类路径进行显式添加以查看是否可以解析它。不应该是必要的,但我现在正在钓鱼。

另一次更新修改了sbt类路径以包含src / main / resources - 以防万一。这没有任何效果。

1 个答案:

答案 0 :(得分:2)

输入完整路径和文件名,例如<file>/Users/javadba/akka.log</file>

修改 我找到了相对路径的起点。我在Mac上运行由STS(Eclipse发行版)启动的Tomcat服务器。当我使用你的logback.xml文件时,文件放在app内容中:

/path/to/STS/STS.app/Contents/MacOS/

文件系统不会搜索包内,您必须右键单击“显示包内容”才能浏览它。我认为 Windows上的等效位置是AppData目录,该目录也是隐藏的,不会出现在文件系统搜索中。

如果您使用的是Mac并且您的sbt已安装Brew,请检查/usr/local/bin