记录

简介

您可以打开其他日志记录来诊断和解决GoCD服务器和代理的问题。

GoCD服务器

要在GoCD服务器上打开其他日志记录,您必须:

  • 创建/编辑文件“CONFIG_DIR/logback-include.xml”。 config目录通常是Linux上的“/etc/go”和Windows上的“C:\Program Files\Go Server\config”。 有关日志配置语法,请参见日志配置语法一节。

下表介绍了可以用服务器配置的各种记录器:

Logger(记录仪) Additivity Description
com.thoughtworks.go.server.Rails true 这将启用调试rails应用程序服务器。
com.thoughtworks.studios.shine true 这将启用GoCD测试报告分析的调试,该分析显示在服务器的阶段详细信息页面的“测试”选项卡上。
org.springframework true 这将启用Spring框架的调试。
org.apache.velocity true 这将启用一些服务器视图模板的调试。
org.eclipse.jetty.server.RequestLog false 这将启用http请求记录来帮助诊断和识别缓慢的页面渲染时间。建议您使用appender将这些日志发送到不同的文件。
PerformanceLogger false 这将输出3个关键后台作业的性能调试日志:调度,材料更新,工作分配。 建议您使用appender将这些日志发送到不同的文件。
com.microsoft.tfs.core true 这将打开GoCD使用的底层Microsoft Team Foundation Server库的调试过程。
com.thoughtworks.go.tfssdk14 true 这将打开围绕Microsoft TFS库的GoCD包装器的调试。
com.thoughtworks.go.domain.materials.dependency true 打开“dependency”类型的材料的日志记录。
com.thoughtworks.go.domain.materials.git true 打开git类型的材料的日志记录。
com.thoughtworks.go.domain.materials.mercurial true 打开“mercurial”类型的材料的日志记录。
com.thoughtworks.go.domain.materials.packagematerial true 打开packagematerial类型的材料的记录。
com.thoughtworks.go.domain.materials.perforce true 开启记录perforce类型的材料。
com.thoughtworks.go.domain.materials.scm true 打开“scm”类型的材料的日志记录。
com.thoughtworks.go.domain.materials.svn true 打开“svn”类型的材料的日志记录。
com.thoughtworks.go.domain.materials.tfs true 打开“tfs”类型的材料的日志记录。

GoCD Agent

要打开GoCD代理的其他日志记录,您必须:

  • 创建/编辑文件CONFIG_DIR/agent-logback-include.xml。 config目录通常是Linux上的/var/lib/go-agent/config和Windows上的C:\Program Files\Go Agent\config。 有关日志配置语法,请参见日志配置语法一节。

下表介绍了可以用服务器配置的各种记录器:

Logger Additivity Description
org.springframework true 这将启用Spring框架的调试。
org.apache.http.wire true 这将启用代理和服务器之间http连接的调试。
com.microsoft.tfs.core true 这将打开GoCD使用的底层Microsoft Team Foundation Server库的调试过程。
com.thoughtworks.go.tfssdk14 true 这将打开围绕Microsoft TFS库的GoCD包装器的调试。
com.thoughtworks.go.domain.materials.dependency true 打开“dependency”类型的材料的日志记录。
com.thoughtworks.go.domain.materials.git true 打开git类型的材料的日志记录。
com.thoughtworks.go.domain.materials.mercurial true 打开“mercurial”类型的材料的日志记录。
com.thoughtworks.go.domain.materials.packagematerial true 打开packagematerial类型的材料的记录。
com.thoughtworks.go.domain.materials.perforce true 开启记录perforce类型的材料。
com.thoughtworks.go.domain.materials.scm true 打开“scm”类型的材料的日志记录。
com.thoughtworks.go.domain.materials.svn true 打开“svn”类型的材料的日志记录。
com.thoughtworks.go.domain.materials.tfs true 打开“tfs”类型的材料的日志记录。

日志配置语法

要配置日志记录,可以在下面指定配置。 您必须调整<logger />和可选的<appender />来写入特定的日志文件。 您可以在logback配置文档中阅读有关logback配置的更多信息。 该文件将每5秒重新加载一次,因此无需重新启动GoCD服务器或代理。

注意:建议您不要将日志级别设置为DEBUGTRACE很长一段时间,因为这会显著影响性能。

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

<!-- since this file is included in another file, use `<included />` and not `<configuration />`  -->
<included>
  <!-- send logs from `com.example.component-b` to the default log file (`go-agent.log` or `go-sever.log`) -->
  <logger name="com.example.component-b" level="DEBUG" />

  <!--
    Uncomment the lines below to redirect specific logs to a file different from the default log file (`go-agent.log` or `go-sever.log`)
    The configuration below will:
      - rollover daily;
      - each log will will be at most 10MB, keep 10 days worth of history, but at most 512 MB
  -->

  <!--
  <appender name="my-appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/example.log</file>
    <encoder>
      <pattern>%date{ISO8601} %-5level [%thread] %logger{0}:%line - %msg%n</pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <fileNamePattern>logs/example.log.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
      <maxFileSize>10 MB</maxFileSize>
      <maxHistory>10</maxHistory>
      <totalSizeCap>512 MB</totalSizeCap>
    </rollingPolicy>
  </appender>

  <logger name="com.example.component-a" level="DEBUG">
    <appender-ref ref="my-appender" />
  </logger>
  -->
</included>

高级日志功能

如果您想将日志事件发送到您选择的日志聚合器服务(如logstash,graylog,splunk),则可能需要执行其他配置:

确保相关的java库及其依赖关系存在于相对于GoCD服务器或代理进程的工作目录的libs目录中。 在linux上,工作目录通常是/var/lib/go-{server,agent},在windows上是C:\Program Files\Go{Server,Agent}。在相关的配置文件中配置appender和编码器您的代理或服务器的logback-include.xml文件.例如要发送日志到logstash(使用logstash-logback-encoder),需要执行以下操作:

  • 将所有logstash-logback-encoder jars和依赖关系下载到libs目录中:
    • logstash-logback-encoder-4.11.jar
    • jackson-databind-2.9.1.jar
    • jackson-annotations-2.9.1.jar
    • jackson-core-2.9.1.jar

然后按照README上的说明配置你的logback-include.xml来设置相关的appender和编码器:

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

  <!-- see https://github.com/logstash/logstash-logback-encoder for more examples and configuration -->
  <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
      <destination>127.0.0.1:4560</destination>
      <encoder class="net.logstash.logback.encoder.LogstashEncoder" />
  </appender>

  <root level="info">
    <appender-ref ref="stash" />
  </root>
</included>

results matching ""

    No results matching ""