ASP.NET Core日志级别你真的懂吗?90%开发者忽略的关键细节曝光

第一章:ASP.NET Core日志级别概述

在 ASP.NET Core 中,日志系统是内置的,并基于 Microsoft.Extensions.Logging 抽象层实现。日志级别用于定义消息的重要程度,帮助开发者区分调试信息、警告、错误等不同类型的输出。

日志级别的种类与含义

ASP.NET Core 支持以下六种标准日志级别,按严重性从低到高排列:
  • Trace:最详细的日志信息,通常仅在调试环境中启用。
  • Debug:用于调试阶段的内部流程跟踪。
  • Information:记录常规操作流程,如服务启动、用户登录等。
  • Warning:表示潜在问题,但不会影响程序继续运行。
  • Error:记录发生错误的操作,例如异常捕获。
  • Critical:严重故障,可能导致应用程序崩溃。

配置日志级别的示例

可以通过 appsettings.json 文件设置不同环境下的日志级别过滤规则:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning",
      "MyApp.Namespace": "Debug"
    }
  }
}
上述配置表示:
  • 默认日志级别为 Information,即低于该级别的日志(如 Debug 和 Trace)将被忽略;
  • 所有以 Microsoft.AspNetCore 开头的分类日志仅在 Warning 及以上级别输出;
  • 自定义命名空间 MyApp.Namespace 的日志可输出至 Debug 级别。

各日志级别的使用场景对比

级别适用场景生产环境建议
Trace详细追踪变量值或循环执行过程关闭
Debug开发调试时输出上下文信息关闭
Information关键业务流程记录开启
Warning可能影响功能但未中断运行的问题开启
Error异常处理和失败操作记录开启
Critical严重故障,需立即响应开启并触发告警

第二章:日志级别的核心概念与应用场景

2.1 理解Trace到Critical五种日志级别的语义

在现代应用系统中,日志级别是区分事件严重性的核心机制。常见的五种级别从低到高分别为:Trace、Debug、Info、Warning、Error 和 Critical。
日志级别语义解析
  • Trace:最细粒度的跟踪信息,用于追踪函数调用、变量状态等。
  • Debug:调试信息,帮助开发者分析程序执行流程。
  • Info:关键业务节点记录,如服务启动、配置加载。
  • Warning:潜在异常,不影响当前执行但需关注。
  • Error:功能出错,局部操作失败。
  • Critical:系统级故障,可能导致服务中断。
代码示例与参数说明
import logging

logging.basicConfig(level=logging.DEBUG)

logging.debug("数据库连接池初始化")
logging.warning("磁盘使用率超过80%")
logging.critical("主从同步已中断")
上述代码中,basicConfig 设置日志输出最低级别为 DEBUG,因此所有级别日志均会被打印。实际部署时通常设为 INFO 或 WARNING,避免生产环境日志过载。

2.2 不同环境下的日志级别配置策略

在系统开发与运维过程中,合理设置日志级别有助于平衡调试效率与性能开销。不同环境应采用差异化的日志策略。
开发环境:全面追踪问题
开发阶段建议启用 DEBUG 级别日志,输出详细执行流程,便于快速定位逻辑错误。
logging:
  level: DEBUG
  format: "%(asctime)s - %(levelname)s - %(module)s: %(message)s"
该配置启用调试日志,包含时间、级别、模块名和消息,提升问题排查效率。
生产环境:注重性能与安全
生产环境应设置为 WARN 或 ERROR 级别,减少I/O压力并避免敏感信息泄露。
  • 开发环境:DEBUG
  • 测试环境:INFO
  • 生产环境:WARN
通过条件加载配置文件,实现环境自适应的日志控制,保障系统稳定性与可观测性。

2.3 日志级别对性能的影响深度剖析

日志级别在高并发系统中直接影响应用性能。不同级别日志的输出频率和内容差异显著,进而影响I/O负载与CPU开销。
常见日志级别对比
  • TRACE:最详细信息,用于调试,性能损耗最大
  • DEBUG:开发阶段使用,记录流程细节
  • INFO:关键操作记录,生产环境常用
  • WARN/ERROR:异常警告与错误,输出量少,影响小
性能影响量化分析
日志级别每秒日志条数CPU占用率I/O吞吐压力
TRACE50,000+~35%极高
DEBUG20,000~18%高
INFO5,000~8%中
代码层面的日志性能优化

// 使用条件判断避免不必要的字符串拼接
if (logger.isDebugEnabled()) {
    logger.debug("Processing user: " + userId + ", attempts: " + retryCount);
}
上述代码通过前置判断日志级别,避免在非DEBUG环境下执行字符串拼接与参数求值,显著降低CPU浪费。尤其在高频调用路径中,此类优化可提升整体吞吐量。

2.4 如何通过日志级别实现精细化调试

在复杂系统中,合理使用日志级别是实现高效调试的关键。通过区分不同严重程度的日志信息,开发者可以动态控制输出内容,避免信息过载。
常见的日志级别及其用途
  • DEBUG:用于开发阶段的详细追踪,如变量值、函数调用栈
  • INFO:记录关键流程进展,如服务启动、配置加载
  • WARN:提示潜在问题,但不影响程序运行
  • ERROR:记录错误事件,需立即关注
代码示例:动态调整日志级别
package main

import (
    "log"
    "os"
)

func main() {
    level := os.Getenv("LOG_LEVEL")
    switch level {
    case "DEBUG":
        log.SetFlags(log.LstdFlags | log.Lshortfile)
        log.Println("[DEBUG] 调试模式已启用")
    case "INFO":
        log.Println("[INFO] 系统正常运行")
    default:
        log.SetOutput(os.Stdout)
    }
}
上述代码通过环境变量 LOG_LEVEL 控制日志输出行为。DEBUG 模式下会打印文件名和行号,便于定位问题;生产环境中可设为 INFO 减少冗余输出。

2.5 常见误区:过度使用Debug还是遗漏Error?

在日志级别实践中,开发者常陷入两个极端:要么过度依赖DEBUG输出,导致日志文件臃肿;要么为追求“干净”而忽略ERROR记录,掩盖系统异常。
典型误用场景
  • 在生产环境中开启全量DEBUG日志,影响性能并增加存储负担
  • 将严重异常仅以WARN级别记录,导致监控系统无法及时告警
代码示例与分析
if err != nil {
    log.Debug("Database connection failed: ", err) // 错误:应使用Error级别
}
上述代码将数据库连接失败记为DEBUG,但该事件属于系统级故障,必须使用log.Error()确保被监控系统捕获。正确做法是根据事件严重性选择日志级别,避免信息丢失或冗余。

第三章:日志配置的实践技巧

3.1 在appsettings.json中灵活设置日志级别

在ASP.NET Core应用中,appsettings.json 是配置日志级别的核心文件。通过该文件,开发者可在不同环境动态调整日志输出的详细程度。
日志级别配置结构
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning",
      "MyApp.Services": "Debug"
    }
  }
}
上述配置中,Default 设置全局默认日志级别;Microsoft.AspNetCore 针对框架组件降低日志量;MyApp.Services 则为特定命名空间启用更详细的调试信息。
支持的日志级别
  • Trace:最详细的信息,通常用于调试。
  • Debug:开发过程中有用的诊断信息。
  • Information:通用操作信息。
  • Warning:表示潜在问题但不影响运行。
  • Error 和 Critical:记录异常和严重故障。
此机制使应用无需重新编译即可调整日志行为,极大提升运维灵活性。

3.2 代码中动态控制日志输出级别的实现方式

在现代应用开发中,日志级别不应固化于配置文件,而应支持运行时动态调整,以适应不同排查场景。
通过API接口实时修改日志级别
许多框架(如Spring Boot Actuator)提供/actuator/loggers端点,允许通过HTTP请求动态设置包或类的日志级别。

{
  "configuredLevel": "DEBUG"
}
发送此JSON到指定端点后,对应组件的日志输出将立即提升至DEBUG级别,无需重启服务。
自定义日志控制器
也可在代码中暴露管理接口,结合日志框架(如Logback)的层级结构进行动态控制:

LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
Logger logger = context.getLogger("com.example.service");
logger.setLevel(Level.DEBUG);
上述代码获取指定Logger实例并修改其级别,适用于需要精细控制的场景。配合配置中心可实现集群级统一调整。

3.3 使用IConfiguration构建多环境日志方案

在ASP.NET Core中,IConfiguration是管理不同环境配置的核心接口。通过它可实现灵活的日志级别与输出目标控制。
配置结构设计
使用appsettings.json及其环境变体(如appsettings.Production.json)定义日志配置:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  }
}
该配置通过IConfiguration自动加载,LogLevel键控制不同命名空间的日志级别。
运行时动态适配
  • 开发环境启用Debug级别日志
  • 生产环境限制为Warning及以上
  • 利用ConfigureLogging方法结合IConfiguration绑定
此方案实现了无需修改代码即可切换日志行为,提升系统可维护性。

第四章:高级日志控制与扩展机制

4.1 基于命名空间或类名的细粒度日志过滤

在复杂的分布式系统中,统一的日志输出容易造成信息过载。通过基于命名空间或类名的细粒度过滤机制,可精准控制日志来源,提升排查效率。
配置示例
logging:
  level:
    com.example.service: DEBUG
    com.example.dao: WARN
    org.springframework: ERROR
该配置指定不同类路径下的日志级别:service 层输出调试信息,dao 层仅记录警告及以上,框架日志则只保留错误级别。
核心优势
  • 按模块隔离日志,避免无关信息干扰
  • 支持运行时动态调整特定类的日志级别
  • 降低日志存储压力,提升检索性能
适用场景
场景推荐策略
开发调试开启业务服务DEBUG级别
生产环境仅对问题模块临时提级

4.2 利用LoggerFilterOptions实现条件日志记录

在现代应用程序中,精细化的日志控制是提升可观测性的关键。通过 `LoggerFilterOptions`,开发者可以根据日志级别和类别动态启用或禁用日志输出。
配置过滤规则
可通过代码方式设置过滤条件,例如:
services.AddLogging(builder =>
{
    builder.SetMinimumLevel(LogLevel.Information);
    builder.AddFilter("Microsoft", LogLevel.Warning);
    builder.AddFilter("MyApp.Namespace", LogLevel.Debug);
});
上述代码中,`AddFilter` 方法接收日志类别前缀与最低日志级别,实现命名空间级别的日志控制。`"Microsoft"` 类别的日志仅在 `Warning` 及以上级别输出,而自定义命名空间可输出更详细的 `Debug` 信息。
运行时过滤机制
  • 过滤器按注册顺序评估,后注册的规则优先级更高;
  • 支持基于提供程序的过滤,如仅对控制台日志应用特定规则;
  • 可结合环境变量实现多环境差异化日志策略。

4.3 自定义日志级别规则以适应业务需求

在复杂业务场景中,标准的日志级别(如 DEBUG、INFO、WARN、ERROR)往往不足以精准表达上下文语义。通过自定义日志级别,可更好地匹配业务逻辑的阶段性与重要性。
定义扩展日志级别
以 Java 的 Logback 框架为例,可通过继承 Level 类实现:

public static final Level AUDIT = new Level(35000, "AUDIT");
该代码定义了一个名为 AUDIT、优先级为 35000 的新日志级别,介于 INFO 与 WARN 之间,适用于记录关键操作审计事件。
应用场景与优势
  • AUDIT 级别可用于标记用户敏感操作,便于安全审计
  • TRACE_EX 表示增强追踪,辅助复杂调用链分析
  • 通过配置不同级别的输出目标,实现日志分流
结合 Appender 过滤器,可将自定义级别日志写入独立文件,提升问题定位效率。

4.4 结合第三方框架(如Serilog)增强级别管理

在现代应用开发中,原生日志级别管理往往难以满足复杂场景的需求。引入 Serilog 等第三方日志框架,可实现结构化日志记录与精细化级别控制。
安装与基础配置
通过 NuGet 安装 Serilog 及其 Sink 组件:
Install-Package Serilog
Install-Package Serilog.Sinks.Console
该代码引入核心库和控制台输出支持,便于调试日志输出。
自定义日志级别策略
Serilog 允许基于环境动态设置最低日志级别:
Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Debug()
    .WriteTo.Console()
    .CreateLogger();
其中 MinimumLevel.Debug() 设定最低记录级别为 Debug,确保所有级别日志均被捕获。
  • 支持按命名空间过滤日志级别
  • 可通过配置文件动态调整级别阈值
  • 集成 ASP.NET Core 时可自动关联请求上下文

第五章:关键细节总结与最佳实践建议

性能调优中的常见陷阱
在高并发系统中,数据库连接池配置不当常导致资源耗尽。例如,将最大连接数设置过高可能引发数据库崩溃。合理的做法是结合压测结果动态调整:

// Go语言中使用sql.DB设置连接池
db.SetMaxOpenConns(50)
db.SetMaxIdleConns(10)
db.SetConnMaxLifetime(time.Hour)
安全配置的最佳实践
生产环境应禁用调试模式并启用HTTPS。以下为Nginx强制跳转HTTPS的典型配置:
  • 确保SSL证书由可信CA签发
  • 使用HSTS头增强安全性
  • 定期轮换密钥和证书

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}
监控与告警策略设计
有效的可观测性体系需覆盖日志、指标与链路追踪。推荐使用Prometheus收集指标,并通过Alertmanager定义分级告警规则:
指标类型采样频率告警阈值
CPU Usage15s>80% 持续5分钟
HTTP 5xx Rate10s>1% 持续3分钟
部署流程标准化
采用蓝绿部署可显著降低发布风险。通过CI/CD流水线自动执行镜像构建、健康检查与流量切换,确保每次发布的可重复性和一致性。

相关推荐

YOLOv8作物病害检测实战源码

这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。

ASP.NET Core应用中如何记录和查看日志

日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性。我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger、LoggerFactory和LoggerProvider这三个核心对象组成。我们可以通过简单的配置实现对LoggerFactory的定制,以及对LoggerProvider添加。 [ 本文已经同步到《ASP.NE...

weixin_33688840的博客 542

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.csdn.net/mtl1994

[转]ASP.NET 核心模块配置参考

本文转自:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-2.1 通过Luke Latham, Rick Anderson,和Sourabh ShirhattiBy Luke Latham, Rick Anderson, and Sourabh Shir...

weixin_34007291的博客 320

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

ASP.NET Core - 日志记录系统(一)

NET Core 框架中内置了日志记录系统,支持通过统一的 API 进入日志的记录,并且支持通过配置各种日志提供程序以各种不同的方式保存日志信息,不仅有多种内置的日志提供程序,也兼容各种按照标准规范实现的第三方框架。这样一个日志记录器实例。日志记录器在创建的时候需要指定日志类别,它会与该记录器的记录的每一条日志关联,方便我们在众多的日志信息中查找特定的日志。我们可以在记录日志的时候指定日志的级别,但是并不是我们记录的任何一个级别的日志都会输出保存,还得配合日志记录系统的配置,就像上面的例子中,最开始。

weixin_37648525的博客 2055

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

IIS部署.net core 的程序后,如何查看控制台的日志?

.net core 3.1 开发的web服务,本地开发的时候,双击运行 xxx.exe(.net core 3.1 发布后,文件夹里面有一个 .exe 文件,双击即可运行,会直接监听本地 xx端口测试的时候可以 localhost:端口号来访问,.net core 2.2 不会有这个exe,一般直接用命令执行 dll 即可) 不管哪种方式执行,本地会有一个控制台窗体,如果报错,在控制台里...

一劍傾城 2616

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

宜搭,高级认证实操2,FaaS连接器指导教程

找到FaasEntry.java将如下代码整体替换,注意引包。如图所示在util下新建EDSUtil.java代码如下。回到连接器界面点击右上角测试-->测试。连接器工厂-->新建FaaS连接器。保存-->前往云IDE开发。返回如图所示代码,部署成功。

2301_80286061的博客 3343

玩转ASP.NET Core中的日志组件

简介 日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息。ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 Console Debug EventSource EventLog TraceSource Azure App Service 除了内置的日志提供器,ASP.NET Core还支持了多种第三方日志工具,例如 ...

weixin_30389003的博客 571

山东大学FPGA课程实验一 加法器设计

电子设计自动化与FPGA设计,实验一 加法器设计

2503_91283667的博客 869

翻译 - ASP.NET Core 基本知识 - 日志(Logging)

翻译自https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-5.0 本主题描述了ASP.NET Core 应用程序中应用到的.NET 中的日志。关于 .NET 中日志的详细信息,查看Logging in .NET。更多关于 Blazor 应用程序日志,查看ASP.NET Core Blazor logging。 日志提供器 日志提供器存储日志,除了控制台提供器是用来显示日志的。例如...

我的的博客 2677

SpringBoot+Vue前后端分离项目实战:个人博客系统

MyBlog主要是基于 SpringBoot + Vue 前后端分离开发的一款动态个人博客系统,后台和前台均通过JSON数据做交互,主要功能有文章管理、分类管理、标签管理、附件管理、评论管理、友链管理、个人资料/博客信息管理等。

Myles'Blog 1万+

【QGIS】【OsGeo4w】安装方法

every blog every motto: You will never know unless you try 0. 前言 因为目前要使用QGIS,然而环境配置就整了大半天,哎,进行简单记录,方便自己方便他人。 一共分为两种方式安装: 独立安装包 网络安装包(下载osgeo4w-setup) QGIS提供了不同的版本: 长期发行版(LTR) 最新版(LR) 开发人员版本(DEV,母版或测试版) 说明: 本文推荐第二种 1. 正文 1.1 下载osgeo4w 下载链接 下载完成: 1.2

胡侃有料的博客 2万+

ASP.NET Core 的Windows和IIS宿主(自动翻译记录)

https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x 支持的操作系统 以下操作系统的支持: Windows 7和更新 Windows Server 2008 R2和新† †概念,本文档中描述的IIS配置也适用于托管ASP.NET核心应用纳米服务器IIS,而是指ASP.NET在II...

weixin_30815469的博客 896

【深度解析】信息素养提升实践活动(附:历年获奖作品分析)

全国师生信息素养提升实践活动是由教育部教育技术与资源发展中心(中央电化教育馆)主办,面向全国师生的一项信息化交流展示活动。

m0_74417957的博客 9651

ASP.Net Core中使用NLog进行日志记录

小白向的ASP.Net Core日志组件使用记录。介绍如何使用NLog作为ASP.Net Core程序的日志组件并对其进行配置。

初夏de遐想的博客 3521

大模型训练和推理

大模型训练moe是指混合专家(Mixture-of-experts,简称MoE)的,这是一种用于提高大型神经网络性能的技术,它可以将模型的一部分替换为多个专家,每个专家只负责处理一部分输入数据,从而增加模型的参数量和表达能力,同时减少计算量和训练时间。指令可以作为模型的输入的一部分,也可以作为模型的输出的一部分,具体取决于任务的类型。上下文扩展技术的,这是一种用于提高大型语言模型(LLM)对长文本的处理能力的技术,它可以让模型在不增加参数量的情况下,扩展其注意力范围,从而提高模型的语言理解和生成能力。

weixin_45325331的博客 6022

EtherCAT-1 技术概述

1.EtherCAT简介①开放的技术EtherCAT全称EtherNet Control Automation Technology,是由德国倍福(Beckhoff)公司提出的一种实时以太网技术。EtherCAT是一种开放但不开源的技术,意味着您可以任意使用这项技术,但若要进行相关设备的开发,则需要向倍福公司获取相关授权。②快速性相比传统现场总线,EtherCAT的数据传输速率有了极大的提升,可选10Mbit/s或100Mbit/s,甚至依托补充

tianya_xuan的博客 3543

.net 服务器 错误日志文件,总结:利用asp.net core日志进行生产环境下的错误排查(asp.net core version 2.2,用IIS做服务器)...

概述调试asp.net core程序时,在输出窗口中,在输出来源选择“调试”或“xxx-ASP.NET Core Web服务器”时,可以看到类似“info:Microsoft.AspNetCore.Hosting.Internal.WebHost[2]Request finished in 285.6ms 200 text/css”这样的内容,这就是asp.net core的日志如果出现了未捕获...

weixin_42498909的博客 1145

13《CAN总线五种错误类型,故障判定全解析》

CAN总线规定,发送节点在发送完EOF字段后,会留出一个ACK Slot(应答槽)。这个槽里,发送节点自己会输出隐性电平(逻辑1),然后“期待”至少有一个其他节点在这个槽里把它拉成显性电平(逻辑0)。如果这个槽结束时仍然是隐性电平,发送节点就判定:刚才那帧报文,没有任何一个节点成功接收——这就是应答错误。简单说,就是“我喊了一嗓子,却没人应声”。

2401_88858637的博客 264

ASP.NET Core扩展库之日志

使用 日志库是随着扩展库一起启用的,最简单的情况是启用扩展库即可,默认配置将开启文件日志目标,日志存入应用下Logs目录,以日期为文件夹,以日志名称为文件名称。 开启扩展库有两种方式,可以在IHostBuilder上通过UseExtensions方法,或者在Startup启动类ConfigureServices方法中通过IServiceCollection的AddExtensions方法。 复制代码 // 通过IHostBuilder上的UseExtensions方法 // Program.cs .NET

weixin_45032957的博客 421

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Asp.net core 使用log4net作为日志组件,记录日志到本地。

GitHub demo :https://github.com/zhanglilong23/Asp.NetCore.Demo 1:引入包首先使用Nuget引入log4net包,版本应>= 2.0.7 2:实现 ILogger 接口 public class Log4NetLogger : ILogger { private readonly ILog _l...

a123_z的博客 5503

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

.NET CORE 部署到IIS、查看Console日志

.net core入门-发布及部署_异常(处理程序“aspNetCore”在其模块列表中有一个错误模块“AspNetCoreModuleV2")处理 备注:本人使用开发工具:VS2017,.NET Core 2.2,其中VS2017原本自带2.1,我单独从官网下载了2.2的程序集安装包,但是没有下配套的运行环境,运行项目时出了一个问题。 以下是我在发布Core项目后部署到IIS后运行时遇到的一个异常:处理程序“aspNetCore”在其模块列表中有一个错误模块“AspNetCoreModuleV2"

qq_32109957的博客 2100

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: WPF中Style BasedOn深度解析(从入门到高级继承模式)
下一篇: 为什么你的EF Core查询没有缓存?EFCache配置陷阱全曝光
FastProceed
博客等级 码龄1年 143粉丝 2005原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值