2012-02-09 88 views
8

我使用TeamCity進行持續集成。部署機器和構建的解決方案簽出。部署在Windows Server 2008 R2下運行的計算機 - 俄語。有俄語PowerShell安裝等。在TeamCity生成日誌,所有俄羅斯符號是錯誤的編碼。TeamCity構建日誌

如何更改生成日誌中的編碼?

回答

11
  1. 改變編碼log4j的配置生成日誌中conf/teamcity-agent-log4j.xml

    <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> 
    
  2. 添加的file.encoding = UTF-8參數launcher/conf/wrapper.conf使用代理上開始 你應該增加它像

    wrapper.app.parameter.6=-Dfile.encoding=UTF-8 
    
  3. add -Dfile.encoding=UTF-8 in JAVA_OPTS

該步驟可以幫助我,但現在我有一個錯誤 - 如果你看日誌中尾巴新的俄羅斯符號替換爲「?」。刷新頁面後,他們顯示正確。

+0

附加閱讀:http://confluence.jetbrains.com/display/TCD7/Configuring+Build+Agent+Startup+Properties – 2013-05-30 08:05:11

1

對於我來說,在TeamCity的7和8的TeamCity,幫助編輯文件的TeamCity代理-的log4j.xml

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

,之後重新啓動的TeamCity。

但是隻有刷新日誌頁面後編碼纔是正確的。

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 
11

對於我來說,在Windows 7,TeamCity 9.0.3幫助將「teamcity.runner.commandline.stdstreams.encoding = 866」行添加到buildAgent.properties文件中。 我已經通過在命令提示符下輸入「chcp」來獲得編碼值。

+0

唯一的建議幫助了我,謝謝! – GaGar1n 2015-05-13 06:25:33

+0

這對俄羅斯編碼很有幫助。謝謝! – Selmaril 2017-04-18 12:00:35