ログ
SRC# は、動作の記録(ログ)をファイルなどに出します。不具合を報告するときは、ログのファイルを添えてください。
元の SRC との違い: 元の SRC にはログの機能がありません。SRC# だけの機能です。
ログの場所
| 版 | 出る場所 |
|---|---|
| SRC#Form・SRC#Avalonia | ログのフォルダのファイル(下表)。デバッガを付けて動かしているときは、デバッガの出力にも出ます |
| SRC#Web | ブラウザの開発者ツールのコンソール。ファイルには出ません |
srcsharp・VS Code 拡張 | ログのフォルダのファイルと、VS Code の出力パネル「SRC#」・デバッグコンソール(詳しくは VS Code 拡張の説明) |
ログのフォルダ:
| OS | フォルダ |
|---|---|
| Windows | %LOCALAPPDATA%\SRCSharp\logs(エクスプローラーのアドレス欄にこのまま入力すると開けます) |
| macOS | ~/Library/Logs/SRCSharp |
| Linux | ~/.local/state/srcsharp/logs(環境変数 XDG_STATE_HOME があれば $XDG_STATE_HOME/srcsharp/logs) |
- ファイル名は
<アプリ>-<日付>.logです(srcsform-20261017.log・srcsavalonia-20261017.log・srcsharp-play-20261017.logなど)。 - 日付ごとにファイルが分かれ、7 日分を残します。
- ログには、ファイルのパス(ユーザー名を含むことがあります)やシナリオの内容が入ります。公開の場所に貼るときは、必要に応じて伏せてください。
以前の SRC# との違い: SRC#Form 3.5.2 までは、
SRCSharpForm.exeのあるフォルダのlogsフォルダに出していました。
ログの内容
1 行に 1 件、時刻・レベル・出し元(カテゴリ)・メッセージの順に出ます。
2026-10-17 21:00:00.000 [INF] SRCSharpForm: SRC#Form 3.5.3 起動 OS: Microsoft Windows 10.0.26100 (X64) .NET: .NET 10.0.13 引数:
2026-10-17 21:00:05.123 [ERR] SRCCore.Event: イベントのエラー C:\SRC\Scenario\test.eve(12): 不正なコマンドです
| レベル | 表記 | 出るもの |
|---|---|---|
| Trace | TRC | 変数の読み書き・関数の呼び出しなど、とても細かい記録 |
| Debug | DBG | イベントのコマンドの実行・ユニットへのコマンドなどの流れ |
| Information | INF | 起動・終了、シナリオの読み込み、Debugコマンド のメッセージ |
| Warning | WRN | 続けられるが、元の SRC と結果が違うもの(対応していないコマンド・見つからない素材など) |
| Error | ERR | イベントのエラー・データの読み込みのエラー・セーブやロードの失敗 |
| Critical | CRT | SRC# が続けられない例外 |
| 出し元 | 内容 |
|---|---|
SRCCore | 起動・データの読み込み・セーブ・ロード |
SRCCore.Event | イベントの実行・コマンド |
SRCCore.Expression | 式・変数・関数 |
SRCCore.Command | ユニットへのコマンド・コンピュータの思考 |
SRCSound | 音の再生 |
SRCSharpForm・SRCSharpAvalonia・SRCSharpWeb・SRCSharp.Tools | 各アプリ |
レベルを変える
既定は Information です。次のどれかで変えます。上にあるものが優先します。
| 方法 | 書き方 | 対象 |
|---|---|---|
| コマンドラインの引数 | -v(Debug)、-vv(Trace)、--log-level <レベル> | SRC#Form・SRC#Avalonia・srcsharp |
| 環境変数 | SRCSHARP_LOG_LEVEL=<レベル> | SRC#Form・SRC#Avalonia・srcsharp |
設定ファイル(srcs.json) | Log セクションの Level(下記) | すべて |
| URL・設定 | URL に ?log=<レベル> を付ける、またはシステムメニューの設定の「ログ」 | SRC#Web |
| VS Code の設定 | srcsharp.logLevel、launch.json の logLevel | VS Code 拡張 |
設定ファイル(srcs.json)
SRC# の設定ファイル srcs.json の Sections に Log セクションを書きます。
{
"Sections": [
{
"Name": "Log",
"Items": [
{ "Name": "Level", "Value": "Debug" },
{ "Name": "Level:SRCCore.Expression", "Value": "Trace" },
{ "Name": "File", "Value": "On" }
]
}
]
}
| 項目 | 内容 | 既定 |
|---|---|---|
Level | レベル(Trace・Debug・Information・Warning・Error・Critical・None) | Information |
Level:<出し元> | 出し元ごとのレベル。Level:SRCCore は SRCCore.Event などにも効きます | なし |
File | ファイルに出すか(On・Off) | On(SRC#Web はファイルなし) |
Path | ログのフォルダ | 上の「ログの場所」 |
RetainDays | 残す日数 | 7 |
ファイルの場所・出すかどうか
| 方法 | 書き方 |
|---|---|
| コマンドラインの引数 | --log-dir <フォルダ>、--no-log-file(ファイルに出さない) |
| 環境変数 | SRCSHARP_LOG_DIR=<フォルダ>、SRCSHARP_LOG_FILE=Off |
| 設定ファイル | Log セクションの Path・File |
不具合を報告するとき
- 可能なら、レベルを Debug にして(SRC#Form なら
SRCSharpForm.exe -v)、不具合が起きるところまで動かします。 - ログのフォルダから、その日のファイルを取り出します。SRC#Web は、開発者ツール(F12)のコンソールの内容を保存します。
- 不具合の報告 にファイルを添えます。