学习笔记

架构班学习


Logger组件

<h3>Logger组件使用指南</h3> <p>本文档介绍了如何在项目中集成和使用Logger组件,包括如何使用Log4Net进行日志记录和配置日志过滤。</p> <h4>1. 内置Logger组件</h4> <p>默认情况下,项目中自带Logger组件。如果需要更高级的日志管理,例如使用Log4Net,可以通过以下步骤完成设置。</p> <h4>2. 安装Log4Net包</h4> <p>首先,在项目中安装 <code>Microsoft.Extensions.Logging.Log4Net.AspNetCore</code> 包,可以通过以下命令在Package Manager Console中完成:</p> <pre><code class="language-bash">Install-Package Microsoft.Extensions.Logging.Log4Net.AspNetCore</code></pre> <p>或者在 <code>*.csproj</code> 文件中添加以下依赖项:</p> <pre><code class="language-xml">&amp;lt;PackageReference Include=&amp;quot;Microsoft.Extensions.Logging.Log4Net.AspNetCore&amp;quot; Version=&amp;quot;x.x.x&amp;quot; /&amp;gt;</code></pre> <h4>3. 配置Log4Net</h4> <p>在 <code>Program.cs</code> 文件中,添加Log4Net支持:</p> <pre><code class="language-csharp">var builder = WebApplication.CreateBuilder(args); // 添加Log4Net日志记录 builder.Logging.AddLog4Net(); // 配置日志过滤 builder.Logging.AddFilter(&amp;quot;System&amp;quot;, LogLevel.Warning); builder.Logging.AddFilter(&amp;quot;Microsoft&amp;quot;, LogLevel.Warning);</code></pre> <h4>4. 日志过滤配置</h4> <p>你可以根据需求配置不同的日志过滤级别。目前支持的日志级别有6种:</p> <ol> <li><code>Trace</code> - 基本信息</li> <li><code>Debug</code> - 调试信息</li> <li><code>Information</code> - 基本信息</li> <li><code>Warning</code> - 警告</li> <li><code>Error</code> - 错误</li> <li><code>Critical</code> - 严重错误</li> <li><code>None</code> - 不记录</li> </ol> <p>例子:</p> <pre><code class="language-csharp">builder.Logging.AddFilter(&amp;quot;System&amp;quot;, LogLevel.Warning); builder.Logging.AddFilter(&amp;quot;Microsoft&amp;quot;, LogLevel.Warning);</code></pre> <h4>5. 注册Logger和ILoggerFactory</h4> <p>在项目中调用 <code>AddLogging</code> 方法自动注册 <code>Logger</code> 和 <code>ILoggerFactory</code>。它们在项目生命周期内是单例的,确保日志记录的唯一性和一致性。</p> <h4>6. 使用示例</h4> <p>以下是一个简单的日志记录使用示例:</p> <pre><code class="language-csharp">public class HomeController : Controller { private readonly ILogger&amp;lt;HomeController&amp;gt; _logger; public HomeController(ILogger&amp;lt;HomeController&amp;gt; logger) { _logger = logger; } public IActionResult Index() { _logger.LogInformation(&amp;quot;HomeController Index action accessed.&amp;quot;); try { // 模拟代码 } catch (Exception ex) { _logger.LogError(ex, &amp;quot;An error occurred in HomeController Index action.&amp;quot;); } return View(); } }</code></pre> <p>通过上述步骤,你可以在项目中布置Log4Net,并根据需求设置日志过滤,确保日志信息的有效管理和记录。</p>

页面列表

ITEM_HTML