团队城市构建日志

9

我使用TeamCity进行持续集成。解决方案在部署机器上检出和构建。部署机器运行在Windows Server 2008 R2(俄语版)上,并安装了俄语语言PowerShell等软件。在TeamCity的构建日志中,所有的俄语符号都显示为错误的编码。

如何更改构建日志的编码?

4个回答

14
  1. 更改conf/teamcity-agent-log4j.xml中的log4j配置编码以获取构建日志

<appender name="ROLL.BUILD" class="jetbrains.buildServer.util.TCRollingFileAppender">
  <param name="file" value="${teamcity_logs}teamcity-build.log"/>
  <param name="Encoding" value="UTF-8"/>
  ...
</appender>
  • 在启动时在launcher/conf/wrapper.conf中添加file.encoding=UTF-8参数,以使用代理

    你应该按以下方式添加它
  • wrapper.app.parameter.6=-Dfile.encoding=UTF-8
    
  • JAVA_OPTS中添加-Dfile.encoding=UTF-8

  • 这些步骤对我有帮助,但现在我遇到了一个问题 - 如果你正在观察日志尾部,新的俄语符号会被替换为“?”。 刷新页面后它们会正确显示。


    附加阅读:http://confluence.jetbrains.com/display/TCD7/Configuring+Build+Agent+Startup+Properties - Anton Rudeshko

    14

    对于我来说,使用Windows 7系统和TeamCity 9.0.3版本时,需要在buildAgent.properties文件中添加"teamcity.runner.commandline.stdstreams.encoding=866"这一行代码。我通过在命令提示符中输入"chcp"获取了编码值。


    1
    这对于俄语编码很有帮助。谢谢! - Selmaril

    4

    以下是有助于Teamcity 9的方法:

    sudo dpkg-reconfigure locales
    sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
    

    在您的代理上执行以下操作:

    完成后,请重新启动代理:

    ./BuildAgent/bin/agent.sh stop
    

    1

    对于我来说,在 TeamCity 7 和 TeamCity 8 上,帮助编辑文件 teamcity-agent-log4j.xml

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

    然后重新启动TeamCity。

    但只有在刷新日志页面之后,编码才是正确的。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接