日常生活的交流与学习

首页 新随笔 联系 管理

日志级别学习

// Trace:0,包含最详细的消息。 这些消息可能包含敏感的应用数据。
// Debug:1,用于调试和开发。
// Information:2,一般用于跟踪系统的日志。
// Warning:3,一般用于记录异常事件或意外事件。
// Error:4,一般用于记录无法处理的异常。
// Critical:5,需要马上处理的失败,比如数据丢失、磁盘控件不足。
// None:6,关闭日志打印。
// System.Console.WriteLine("get html by url");
_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;

// get settings from appsettings.json 
var config = new ConfigurationBuilder()
    .SetBasePath(AppContext.BaseDirectory)
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    .Build();

HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);

// add logger
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();

// get service from IServiceProvider
var topicService = host.Services.GetRequiredService<ITopicService>();
topicService.ExtractLinksFromUrl("World");









// host.Run();
// await host.RunAsync();
// host.Dispose();


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)
    {
        // Trace:0,包含最详细的消息。 这些消息可能包含敏感的应用数据。
        // Debug:1,用于调试和开发。
        // Information:2,一般用于跟踪系统的日志。
        // Warning:3,一般用于记录异常事件或意外事件。
        // Error:4,一般用于记录无法处理的异常。
        // Critical:5,需要马上处理的失败,比如数据丢失、磁盘控件不足。
        // None:6,关闭日志打印。
        // System.Console.WriteLine("get html by 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>

posted on 2024-05-08 23:26  lazycookie  阅读(16)  评论(0编辑  收藏  举报