.NET アプリケーションで IMAP アクティビティ ロギングを有効化および構成する
アクティビティ ロギングはデバッグだけでなく、IMAP クライアントの動作情報を収集・分析するためにも使用されます。
アクティビティ ロギングを有効化
appsettings.json ファイルを使用してアクティビティ ロギングを有効化
注: このオプションは .NET Core アプリケーションに推奨されます。
ロギング ImapClient 以下の手順とコードサンプルで有効にできます:
-
C# プロジェクトにまだ追加されていない場合は、appsettings.json 設定ファイルを追加してください。
-
プロジェクト ファイルの ItemGroup セクションに以下の行が含まれていることを確認してください。
<Content Include="appsettings.json"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> -
次に、appsettings.json ファイルに以下の内容を追加します。
{ "ImapDiagnosticLog": "imap.log", "ImapDiagnosticLog_UseDate": true }
上記の2つのプロパティは次のとおりです:
-
ImapDiagnosticLog - ログファイルへの相対パスまたは絶対パスを指定します。
-
ImapDiagnosticLog_UseDate - ログファイル名に現在の日付の文字列表現を追加するかどうかを指定します。
プログラムコードでアクティビティ ロギングを有効にする
コード内で即座にロギングを有効にすることもできます。
注: 設定ファイルでロギングをすでに有効にしていても、このオプションが適用されます。
ロギング ImapClient 以下の手順とコードサンプルで有効にできます:
- 作成します ImapClient.
- 以下を使用してログファイルのパスを設定します LogFileName プロパティです。
- 設定します UseDateInLogFileName 必要に応じてプロパティを設定します。
using (var client = new ImapClient("your imap server", 993, "your username", "your password"))
{
// Set security mode
client.SecurityOptions = SecurityOptions.Auto;
// Set the path to the log file using the LogFileName property.
client.LogFileName = @"C:\Aspose.Email.IMAP.log";
// Set the UseDateInLogFileName property if it is necessary.
client.UseDateInLogFileName = false;
}
App.config ファイルを使用してアクティビティ ロギングを有効化
ImapClient アクティビティは構成ファイルの configSections を変更することでログに記録できます。診断ロギングを実行する手順は次のとおりです:
- "applicationSettings" という sectionGroup を追加します。
- "Aspose.Email.Properties.Settings" という section を追加します。
- ファイル名が applicationSettings/Aspose.Email.Properties.Settings に定義されている設定 ImapDiagonosticLog を含めます。
以下は、使用するサンプル フォーム アプリケーションです ImapClient メールを処理します。この全体のアクティビティは App.config ファイルを変更することでログに記録されます。
- 単一のボタンを持つフォームベースのアプリケーションを作成します。ボタンのクリックイベント用に以下のサンプルコードを追加してください。
ImapClient client = new ImapClient("imap.gmail.com", 993, "user@gmail.com", "password");
// Set security mode
client.SecurityOptions = SecurityOptions.Auto;
try
{
// Get the message info collection
ImapMessageInfoCollection list = client.ListMessages();
// Download each message
for (int i = 0; i < list.Count; i++)
{
// Save the EML file locally
client.SaveMessage(list[i].UniqueId, dataDir + list[i].UniqueId + ".eml");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
- Aspose.Email への参照を追加します。
![]() |
|---|
- 次に App.Config ファイルを追加し、内容を以下のように変更します:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Aspose.Email.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<Aspose.Email.Properties.Settings>
<setting name="ImapDiagnosticLog" serializeAs="String">
<value>..\..\..\Log\Aspose.Email.IMAP.log</value>
</setting>
<setting name="ImapDiagnosticLog_UseDate" serializeAs="String">
<value>True</value>
</setting>
</Aspose.Email.Properties.Settings>
</applicationSettings>
</configuration>
C# .NET の場合は次のオプションを使用します。
|
| | | :- | :- | VB .NET の場合は以下のオプションを使用してください
![]() |
![]() |
|---|
![]() |
|---|
- コードを実行し、Log フォルダーを確認してください。以下のファイルが生成されます。
![]() |
|---|



