Логирование активности ImapClient

Логирование активности используется для отладки, а также для сбора и анализа рабочей информации о клиенте IMAP.

Включение логирования активности с использованием файла appsettings.json

ПРИМЕЧАНИЕ: Этот вариант предпочтителен для приложений .NET Core.

Логирование в ImapClient можно включить, выполнив следующие шаги и примеры кода:

  1. Добавьте файл конфигурации appsettings.json в проект C#, если он ранее не был добавлен.

  2. Убедитесь, что файл проекта содержит следующие строки в секции ItemGroup.

       <Content Include="appsettings.json">
           <CopyToOutputDirectory>Always</CopyToOutputDirectory>
       </Content>
    
  3. Затем добавьте следующее содержимое в файл appsettings.json.

       {
         "ImapDiagnosticLog": "imap.log",
         "ImapDiagnosticLog_UseDate": true
       }
    

Два упомянутых свойства:

  • ImapDiagnosticLog - указывает относительный или абсолютный путь к файлу журнала.

  • ImapDiagnosticLog_UseDate - указывает, нужно ли добавлять строковое представление текущей даты в имя файла журнала.

Включение логирования активности в коде программы

Вы также можете включить логирование сразу в коде.

ПРИМЕЧАНИЕ: даже если вы уже включили логирование с помощью файлов конфигурации, этот вариант будет применен.

Логирование в ImapClient можно включить, выполнив следующие шаги и примеры кода:

  1. Создайте ImapClient.
  2. Установите путь к файлу журнала, используя свойство LogFileName.
  3. Установите свойство UseDateInLogFileName, если это необходимо.
   using (var client = new ImapClient("your imap server", 993, "your username", "your password"))
{
    // Установите режим безопасности
    client.SecurityOptions = SecurityOptions.Auto;

    // Установите путь к файлу журнала, используя свойство LogFileName.
    client.LogFileName = @"C:\Aspose.Email.IMAP.log";

    // Установите свойство UseDateInLogFileName, если это необходимо.
    client.UseDateInLogFileName = false;
}

Включение логирования активности с использованием файла App.config

Активность ImapClient может быть зарегистрирована, изменив секции configSections в файле конфигурации. Следующие шаги помогут выполнить диагностику логирования:

  1. Добавьте sectionGroup с именем “applicationSettings”.
  2. Добавьте section с именем “Aspose.Email.Properties.Settings”.
  3. Включите настройку ImapDiagonosticLog, где имя файла определяется в applicationSettings/Aspose.Email.Properties.Settings.

Вот пример формы приложения, которая использует ImapClient для обработки почты. Вся эта активность регистрируется путем изменения файла App.config.

  • Создайте приложение на основе формы с одной кнопкой. Добавьте следующий пример кода для обработки нажатия кнопки:
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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.
todo:image_alt_text  
  • Теперь добавьте файл 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 используйте следующий вариант

todo:image_alt_text  
Для VB .NET используйте следующий вариант
todo:image_alt_text   todo:image_alt_text  
todo:image_alt_text  
  • Запустите код, а затем проверьте папку Журнала. Будет сгенерирован следующий файл.
todo:image_alt_text