日志级别学习
| |
| |
| |
| |
| |
| |
| |
| |
| _logger.LogTrace("Trace"); |
| _logger.LogDebug("Debug"); |
| _logger.LogInformation("Information"); |
| _logger.LogWarning("Warning"); |
| _logger.LogError("Error"); |
| _logger.LogCritical("Critical"); |
Wechat.CrawlerNew/Wechat.App/Program.cs
| |
| using Microsoft.Extensions.Configuration; |
| using Microsoft.Extensions.DependencyInjection; |
| using Microsoft.Extensions.Hosting; |
| using Microsoft.Extensions.Logging; |
| using Wechat.Service.Browser; |
| using Wechat.Service.Topic; |
| |
| |
| var config = new ConfigurationBuilder() |
| .SetBasePath(AppContext.BaseDirectory) |
| .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) |
| .Build(); |
| |
| HostApplicationBuilder builder = Host.CreateApplicationBuilder(args); |
| |
| |
| builder.Services.AddLogging(builder => |
| { |
| builder.AddConfiguration(config.GetSection("Logging")); |
| builder.AddConsole(); |
| }); |
| |
| builder.Services.AddSingleton<ITopicService, TopicService>(); |
| builder.Services.AddSingleton<IBrowserService, BrowserService>(); |
| |
| using IHost host = builder.Build(); |
| |
| |
| var topicService = host.Services.GetRequiredService<ITopicService>(); |
| topicService.ExtractLinksFromUrl("World"); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
Wechat.CrawlerNew/Wechat.App/appsettings.Development.json
| { |
| "Logging": { |
| "LogLevel": { |
| "Default": "Debug", |
| "Microsoft.AspNetCore": "Warning" |
| } |
| } |
| } |
| |
Wechat.CrawlerNew/Wechat.App/Wechat.App.csproj
| <Project Sdk="Microsoft.NET.Sdk"> |
| |
| <ItemGroup> |
| <ProjectReference Include="..\Wechat.Entity\Wechat.Entity.csproj" /> |
| <ProjectReference Include="..\Wechat.Service\Wechat.Service.csproj" /> |
| </ItemGroup> |
| |
| <ItemGroup> |
| <None Update="nlog.config" CopyToOutputDirectory="Always" /> |
| </ItemGroup> |
| |
| <ItemGroup> |
| <PackageReference Include="AngleSharp" Version="1.2.0-beta.410" /> |
| <PackageReference Include="HtmlAgilityPack" Version="1.11.60" /> |
| <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> |
| <PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" /> |
| <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> |
| <PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> |
| <PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" /> |
| <PackageReference Include="NLog.Extensions.Logging" Version="5.3.8" /> |
| <PackageReference Include="Selenium.Support" Version="4.18.1" /> |
| <PackageReference Include="Selenium.WebDriver" Version="4.18.1" /> |
| <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" /> |
| </ItemGroup> |
| |
| <PropertyGroup> |
| <OutputType>Exe</OutputType> |
| <TargetFramework>net8.0</TargetFramework> |
| <ImplicitUsings>enable</ImplicitUsings> |
| <Nullable>enable</Nullable> |
| </PropertyGroup> |
| |
| </Project> |
| |
| |
Wechat.CrawlerNew/Wechat.App/appsettings.json
| { |
| "ConnectionStrings": { |
| "MsSqlConnection": "Server=(localdb)\\mssqllocaldb;Database=Electric;Trusted_Connection=True;MultipleActiveResultSets=true", |
| "MySqlConnection": "Server=localhost;Database=Electric;Uid=root;Pwd=123456;" |
| }, |
| "DataProvider": "MsSql", |
| "Logging": { |
| "LogLevel": { |
| "Default": "Debug", |
| "Microsoft.AspNetCore": "Warning" |
| } |
| }, |
| "AllowedHosts": "*", |
| "Authentication": { |
| "JwtBearer": { |
| "SecurityKey": "ELETRICAPIC421AAEE0D114E9C", |
| "Issuer": "EletricAPI", |
| "Audience": "EletricAPI" |
| } |
| }, |
| "CorsOrigins": "http://localhost:9527" |
| } |
| |
Wechat.CrawlerNew/Wechat.Service/Browser/BrowserService.cs
| |
| |
| using Microsoft.Extensions.Logging; |
| |
| namespace Wechat.Service.Browser; |
| |
| public class BrowserService : IBrowserService |
| { |
| |
| private readonly ILogger<BrowserService> _logger; |
| public BrowserService(ILogger<BrowserService> logger) |
| { |
| _logger = logger; |
| |
| } |
| |
| public string GetHtmlByUrl(string url) |
| { |
| |
| |
| |
| |
| |
| |
| |
| |
| _logger.LogTrace("Trace"); |
| _logger.LogDebug("Debug"); |
| _logger.LogInformation("Information"); |
| _logger.LogWarning("Warning"); |
| _logger.LogError("Error"); |
| _logger.LogCritical("Critical"); |
| return string.Empty; |
| } |
| |
| } |
| |
Wechat.CrawlerNew/Wechat.Service/Browser/IBrowserService.cs
| namespace Wechat.Service.Browser; |
| |
| |
| public interface IBrowserService{ |
| string GetHtmlByUrl(string url); |
| |
| |
| } |
| |
| |
Wechat.CrawlerNew/Wechat.Service/Topic/TopicService.cs
| |
| using Wechat.Service.Browser; |
| |
| namespace Wechat.Service.Topic; |
| |
| |
| |
| public class TopicService : ITopicService |
| { |
| private readonly IBrowserService _browserService; |
| |
| public TopicService(IBrowserService browserService) |
| { |
| _browserService = browserService; |
| |
| } |
| |
| public List<string> ExtractLinksFromUrl(string url) |
| { |
| _browserService.GetHtmlByUrl(url); |
| return new List<string>{ "" }; |
| } |
| } |
| |
| |
Wechat.CrawlerNew/Wechat.Service/Topic/ITopicService.cs
| namespace Wechat.Service.Topic; |
| |
| public interface ITopicService |
| { |
| List<string> ExtractLinksFromUrl(string url); |
| } |
| |
| |
Wechat.CrawlerNew/Wechat.Service/Wechat.Service.csproj
| <Project Sdk="Microsoft.NET.Sdk"> |
| |
| <PropertyGroup> |
| <TargetFramework>net8.0</TargetFramework> |
| <ImplicitUsings>enable</ImplicitUsings> |
| <Nullable>enable</Nullable> |
| </PropertyGroup> |
| <ItemGroup> |
| <PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" /> |
| <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" /> |
| </ItemGroup> |
| |
| </Project> |
| |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战