TeamCity サーバーログ
TeamCity サーバーは、サーバーの動作に関する問題を調査したり、内部エラーの詳細を取得したりするために調べることができる内部アクティビティのログを保持しています。
ログは、TeamCity サーバーマシン (通常は <TeamCity Server Home> /logs) のディスクディレクトリにプレーンテキストファイルとして保存されます。TeamCity の実行中は、ファイルにメッセージが追加されます。
サーバーの実行中、ログは管理 | 診断セクションの Server Logs タブの Web UI で表示できます。
一般的なロギングの説明
TeamCity はログ記録に log4j2.x ライブラリ(英語)を使用し、その設定はカスタマイズできます。TeamCity 2022.04 より前のバージョンでは、ログ記録に Log4j 1.x を使用していました。
デフォルトでは、ログファイルは <TeamCity Server home> /logs ディレクトリにあります。
最も重要なログファイルは次のとおりです。
| 一般的なサーバーログ |
| サーバーの起動時に このログは log4j2 構成には含まれておらず、サーバーの起動に関する問題のトラブルシューティングを支援することを目的としています。 |
| ユーザー開始イベントおよび主要なビルド関連イベントのログ |
| VCS -related アクティビティのログ |
| clean-up -related ログが含まれています |
| ステータス発行者のコミット -related ログが含まれます。 |
| 通知 -related ログ |
| プルリクエスト - 関連ログ。 |
| AI Assistant に関連する情報をログに記録します。デフォルトでは、すべてのプリセットは AI 関連イベントを |
| (デフォルトではオフ)クラウド統合 -related ログ |
| (デフォルトではオフ) SQL クエリのログ、詳細を参照 |
| (デフォルトではオフ)NTLM およびその他の HTML 要求の認証に関連するメッセージをログに記録します |
| (デフォルトではオフ)サーバーが XML-RPC 経由でエージェントおよび IDE プラグインに送信したメッセージのログ |
| (デフォルトではオフ)VCS からの個々のファイルコンテンツリクエストに関連するログ |
| (デフォルトではオフ)REST-API 関連のロギング |
| (デフォルトではオフ)通知テンプレート処理関連のログ |
| (デフォルトではオフ) エージェントのプッシュ操作に関連するログ |
| (デフォルトではオフ) サーバー上での個人ビルド処理に関連するログ |
| (デフォルトではオフ)SVN 統合ログ |
| (デフォルトではオフ)TFS 統合ログ |
| (デフォルトではオフ)StarTeam 統合ログ |
| (デフォルトではオフ)ClearCase 統合プラグイン(英語)ログ |
| LDAP - 関連ログ |
| NuGet - 関連ログ |
| (デフォルトではオフ) maintainDB ツールで実行されたバックアップ / 復元 / 移行のログ |
| (デフォルトではオフ) メンテナンス DB ツールで実行されたバックアップ / 復元 / 移行中に発生する可能性のあるデータの切り捨てに関する拡張情報が含まれています。 |
| (デフォルトではオフ) プロジェクト設定とバージョン管理の同期に関する情報が含まれます |
| ブラウザーと WebSocket 接続を使用した TeamCity サーバー間の通信に関連するログ |
| TeamCity と設定された課題追跡システム間の通信に関連するログ |
ログ構成を変更すると、他のファイルも作成されます。
一部のファイルには .N 拡張子を付けることができます。これは、メインファイルローテーションでコピーされた以前のログメッセージを含むファイルです。より多くのファイルを保存するには、 <DefaultRolloverStrategy/> を参照してください。
ロギング関連の診断 UI
システム管理者ロールを持つユーザーは、管理 | 診断 | サーバーログを使用して TeamCity UI からサーバーログを直接表示およびダウンロードできます。
ロギング構成の変更
TeamCity の実行中に、使用可能なログ記録プリセットを選択することで、アクティブなログ記録設定を変更できます。
アクティブなロギングプリセットは、管理 | 診断 | トラブルシューティング | デバッグログセクションで変更されます。プリセットを選択すると、ログ構成がすぐに変更され、サーバーの再起動後、このページで再度手動で変更するまで、プリセットは保持されます。必要なログが収集されたら、デフォルトのプリセットに戻すことを強くお勧めします。
使用可能なプリセットは、 <TeamCity Data Directory> /config/_logging ディレクトリの .xml 拡張子のファイルに保存されます。新しいファイルをディレクトリに追加したり、既存のファイルを変更したりできます ( .dist コンベンションを使用)。新しいプリセットは、診断 | ロギングプリセット経由でアップロードすることもできます。
ログプリセットを使用してデバッグログモードを有効にできない場合 (たとえば、サーバーの初期化中にログを取得する場合)、ログに永続的な変更を加えることができない場合は、サーバーの起動前に conf/teamcity-server-log4j.xml ファイルをバックアップし、 <TeamCity Data Directory> /config/_logging/debug-general.xml ファイルを conf/teamcity-server-log4j.xml にコピーして名前を変更することができます。
ロギング設定の変更
log4j 構成を微調整したい場合は、 <TeamCity Server home> /conf/teamcity-server-log4j.xml ファイルを編集できます。サーバーが実行中の場合、log4j 構成ファイルが自動的に再ロードされ、ログ構成がオンザフライで変更されます (一部の log4j 制限は引き続き適用されるため、大幅な変更を行う場合はサーバーの再起動を検討してください)。
debug-all.xml や debug-vcs.xml などの他のプリセットファイルの設定を変更しても、設定は自動的に取得されません。変更を強制するには、ログプリセットを <Default> などの他の値に切り替えてから、debug-all に戻します。
log4j 構成の最も有用な設定:
ファイルに保存する最小ログレベルを変更するには、Logger 要素の level 属性を微調整します。
ログはデフォルトでローテーションされます。デバッグが有効になっている場合、<DefaultRolloverStrategy/> 要素の max 属性を増やして、保存されるログファイルの数に影響を与えることは理にかなっています。その間、十分な空きディスク容量があることを確認してください。
<DefaultRolloverStrategy/> およびその他のサポートされる属性の詳細については、Apache のドキュメントの RollingFileAppender(英語) を参照してください。
ログを読む
各メッセージにはタイムスタンプとレベル(ERROR、WARN、INFO、DEBUG)があります。
例:
ERRORは、操作が失敗し、一部のデータが失われたか、アクションが実行されなかったことを意味します。一般的に、ログにはエラーはありません。WARNは通常、操作が失敗したが、再試行されるか、操作が重要ではないと見なされることを意味します。ある程度の警告は問題ありません。ただし、このような警告のログを確認して、何が問題で何が問題なのかをより理解することができます。INFOは、現在のアクティビティを報告するだけの情報メッセージです。DEBUGは、たとえば TeamCity 開発者が分析する問題の調査にのみ役立ちます。
一般的なロギング設定
デフォルトでは、TeamCity は .../conf/teamcity-server-log4j.xml ファイルで log4j 構成を検索します (bin から実行する場合、これは TeamCity .exe および .tar.gz ディストリビューションの場合は <TeamCity Server home> /conf/teamcity-server-log4j.xml に解決されます)。そのようなファイルが存在しない場合は、デフォルトの log4j 構成が使用されます。ログは、デフォルトでは ../logs ディレクトリに保存されます。
必要に応じて、log4j2.configurationFile JVM オプションまたは内部プロパティを追加して、構成へのパスを変更できます。logs ディレクトリへのパスは、TEAMCITY_LOGS_PATH 環境変数、または teamcity_logs JVM オプションまたは内部プロパティを介して構成されます。
たとえば: log4j2.configurationFile=file:../conf/teamcity-server-log4j.xml と teamcity_logs=../logs/
デフォルト値は、.exe および tar.gz ディストリビューションで使用可能な bin/teamcity-server スクリプトで検索できます。
バンドルされている teamcity-server または runAll スクリプト以外の方法で TeamCity を起動する場合は、上記のオプションをサーバー JVM に渡すようにしてください。バンドルされていない Web サーバーに TeamCity をインストールする場合の推奨事項も参照してください。
デフォルトの teamcity-server-log4j.xml ファイルの内容は、.exe および tar.gz ディストリビューションにあります。デバッグが有効になっているものは、サーバーの最初の起動後に <TeamCity Data Directory> /config/_logging/debug-general.xml の名前で見つかります。
関連ページ:
TeamCity ホームディレクトリ
TeamCity ホームディレクトリまたは TeamCity インストールディレクトリは、TeamCity がインストールされたときに TeamCity サーバーアプリケーションファイルとライブラリが解凍されたディレクトリです。TeamCity ホームディレクトリの場所は、TeamCity サーバーをインストールするときに定義されます。Windows インストールパッケージによって提案される既定のディレクトリはですが、TeamCity は任意のディレクトリにインストールできます。重要なファイルとディ...
VCS ルートの設定
VCS ルートは、TeamCity ←→ VCS リポジトリ通信の基礎です。この不可欠な要素は、リポジトリのチェックアウト、コードソースのタグ付け、ビルドステータスの VCS への返信など、さまざまな操作を実行するために必要な VCS プロバイダーへの接続を定義します。VCS ルートには次の情報が保存されます。TeamCity がリモートファイルをプルおよびプッシュするために使用する URL を取得してプッシュします。ブランチ情報: TeamCity が追跡する必要があるリポジトリブランチのリスト...
TeamCity データのクリーンアップ
TeamCity のクリーンアップ機能により、古いビルドデータや不要なビルドデータを自動的に削除できます。サーバーのクリーンアップ構成は管理 | サーバー管理 | クリーンアップ設定で使用可能です。クリーンアップスケジュールの設定が可能で、一般的なクリーンアップ情報が表示されます。特定のプロジェクトに関連するクリーンアップルールはプロジェクト設定で設定されます | クリーンアップルール。これらのルールは、どのデータをクリーンアップし、どのデータを保持するかを定義します。これらは、プロジェクトまた...
ステータス発行者のコミット
コミットステータスパブリッシャーは、ビルドステータスを VCS プロバイダーに送信するビルド機能です。これにより、リポジトリページからコードの状態を追跡し、関連する TeamCity ビルドにすばやく移動して詳細なビルドログを確認できます。サポートされている VCS プロバイダー:GitHub(プルリクエストのビルドステータスもサポートされています)、GitLab、Azure DevOps(サポートされるステータス: 保留中、成功、失敗、エラー)、Bitbucket サーバーおよび Bitbuck...
プルリクエスト
プルリクエストビルド機能は、GitHub、Bitbucket サーバー、Bitbucket クラウド、GitLab、Azure DevOps、JetBrains Space リポジトリのプル (マージ) リクエストとの TeamCity 統合を強化します。共通情報:ビルド構成にプルリクエスト機能を追加すると、次のことが可能になります。ビルド構成の概要ページで、プルリクエストブランチと保留中の変更を表示します。
AI Assistant
TeamCity AI Assistant は、失敗したワークフローのデバッグ、最適な構成の提案、TeamCity の機能を案内する 24/7 のコンパニオンです。重要なポイント:TeamCity AI Assistant は何ができますか? AI Assistant には、現在の TeamCity インストールとそのビルドに関する情報を取得するためのツールセットが搭載されています。一般的なガイダンス(例: 「TeamCity NuGet フィードを設定するにはどうすればよいですか? 」や「プル...