Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xljiulang/logging.debugger
Microsoft.Extensions.Logging统一日志的System.Diagnostics.Debugger日志提供者,可以使用DebugViewer工具监听日志内容
https://github.com/xljiulang/logging.debugger
Last synced: 20 days ago
JSON representation
Microsoft.Extensions.Logging统一日志的System.Diagnostics.Debugger日志提供者,可以使用DebugViewer工具监听日志内容
- Host: GitHub
- URL: https://github.com/xljiulang/logging.debugger
- Owner: xljiulang
- License: mit
- Created: 2018-09-23T18:36:47.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-09-24T03:13:14.000Z (over 6 years ago)
- Last Synced: 2024-10-05T20:41:13.688Z (3 months ago)
- Language: C#
- Homepage:
- Size: 53.7 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Logging.Debugger
Microsoft.Extensions.Logging统一日志的System.Diagnostics.Debugger日志提供者,可以使用[DebugViewer](https://github.com/xljiulang/Microsoft.Extensions.Logging.Debugger/blob/master/DebugViewer.exe?raw=true)工具监听日志内容。### 1 Nuget
PM> `install-package Logging.Debugger`
支持.net framework 4.5、netstandard2.0### 2 如何使用
PM> `install-package Microsoft.Extensions.Logging`
PM> `install-package Logging.Debugger````c#
static void Main(string[] args)
{
var logging = new LoggerFactory().AddDebugger();
var logger = logging.CreateLogger(nameof(Demo));logger.LogInformation("log info ...");
logger.LogError(0, new Exception("boom!"), "sorry!");Console.ReadLine();
}
```### 3 平台与环境
* 只支持windows平台,因底层是封装winapi OutputDebugString函数;
* 在IDE调试环境下不会输出到DebugViewer,直接运行DebugViewer才抓到日志内容;
* 只能输出4096个字的日志内容,超过会截断### 4 使用场景
System.Diagnostics.Debugger在输出日志时,先判断系统如果有调试器在监听,才将日志内容写入指定的windows的内存映射,并通知调试器有新的数据更新。本项目里面的DebugViewer.exe是调试器,在开启之后System.Diagnostics.Debugger才真正的输出日志,所以Logging.Debugger非常适合用于作Debug内容高度密集输出,你的程序在运行时的性能不会受到任何影响,而且可以随时监听和查看实时日志。DebugViewer项目地址:https://github.com/xljiulang/DebugViewer