【问题标题】:Limiting length of ENSIME server buffer; hook for this buffer限制 ENSIME 服务器缓冲区的长度;这个缓冲区的钩子
【发布时间】:2015-04-09 23:50:37
【问题描述】:

我想将*inferior-ensime-server-...* 缓冲区的长度限制为几千行。

这看起来很有希望,来自https://stackoverflow.com/a/11255400/1007926,但在这种情况下不起作用:

(add-hook 'compilation-filter-hook 'comint-truncate-buffer)
(setq comint-buffer-maximum-size 2000)

是否有一个 ENSIME 服务器缓冲区挂钩可以用来代替 'compilation-filter-hook

也许这些钩子偶尔可以用来截断缓冲区: https://github.com/ensime/ensime-emacs/blob/master/ensime-mode.el

【问题讨论】:

    标签: emacs logback ensime comint-mode


    【解决方案1】:

    您始终可以通过自定义ensime-server-logback 来提供自己的logback.xml 文件,然后进行自己的过滤。

    https://github.com/ensime/ensime-emacs/blob/aafff027f40ea58e22538272edd0a5b676821978/ensime-vars.el#L85

    【讨论】:

    • 我已经尝试提供我自己的 logback.xml 并且它在 ensime 服务器命令行中正确显示:... -Dlogback.configurationFile=/Users/rk/emacs.d/ensime/logback.xml org.ensime.server.Server,但它根本没有生效。
    【解决方案2】:

    它对我有用,我做了一个M-x customize-group ensime-server,然后在ensime-server-logback 中,我必须将logback.xml 的路径设置为字符串:"/home/user/.sbt/0.13/plugins/logback.xml"。这是我的日志:

    <configuration>
      <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>true</resetJUL>
      </contextListener>
      <appender name="file" class="ch.qos.logback.core.FileAppender">
        <file>it.log</file>
        <append>false</append>
        <encoder>
          <pattern>%d{HH:mm:ss.SSS} %-5level %X{akkaSource} %logger{36} - %msg%n</pattern>
        </encoder>
      </appender>
      <root level="WARN">
        <appender-ref ref="file" />
      </root>
      <logger name="org.ensime" level="WARN" />
      <logger name="akka" level="WARN" />
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-25
      • 2012-05-17
      • 2022-11-11
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多