A:增加数据库配置和使用
This commit is contained in:
1 parent
53d1dd2dbf
commit
f7660c49e8
86 files changed
+7401
-271
No files matched your search
@@ -32,7 +32,24 @@ app.MapGet("/", () => Results.Ok("ok"));
|
||||
app.Run();
|
||||
```
|
||||
|
||||
## 3. 可选配置(appsettings.json)
|
||||
## 3. 桌面/WPF/WinForms
|
||||
```csharp
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Sharp.Log;
|
||||
|
||||
var configuration = new ConfigurationBuilder()
|
||||
.AddJsonFile("appsettings.json", optional: true)
|
||||
.AddEnvironmentVariables()
|
||||
.Build();
|
||||
|
||||
using var loggerFactory = SharpLogDefaults.CreateLoggerFactory(configuration);
|
||||
var logger = loggerFactory.CreateLogger<App>();
|
||||
logger.LogInformation("桌面程序已启动");
|
||||
```
|
||||
|
||||
无需 HostBuilder,即可获得默认 Console + 滚动文件输出;同样支持 `SharpLog` 配置节/环境变量。
|
||||
|
||||
## 4. 可选配置(appsettings.json)
|
||||
添加 `SharpLog` 配置节(可省略)。
|
||||
```json
|
||||
{
|
||||
@@ -66,7 +83,7 @@ app.Run();
|
||||
- `SHARPLOG__FILE__PATH=/var/logs/app-.log`
|
||||
- `SHARPLOG__FILE__RETAINEDFILECOUNTLIMIT=7`
|
||||
|
||||
## 4. 常见定制
|
||||
## 5. 常见定制
|
||||
- 仅文件输出(关闭 Console):
|
||||
```csharp
|
||||
builder.Logging.AddSharpLog(o => { o.UseConsole = false; });
|
||||
@@ -84,17 +101,17 @@ app.Run();
|
||||
builder.Logging.AddSharpLog(o => { o.Enrich.Application = "MyApp"; });
|
||||
```
|
||||
|
||||
## 5. 与现有 Provider 协作
|
||||
## 6. 与现有 Provider 协作
|
||||
- 默认不清空 Provider;若希望仅用 Sharp.Log,可在应用中先执行 `ClearProviders()` 再调用 `AddSharpLog()`。
|
||||
- 如将 `UseSerilog` 设为 `false`,不会注入 Serilog Provider,请保留框架自带 Console Provider(不要 `ClearProviders()`)。
|
||||
|
||||
## 6. 请求日志中间件
|
||||
## 7. 请求日志中间件
|
||||
启用后会记录:请求开始、结束(状态码与耗时)、异常。
|
||||
```csharp
|
||||
app.UseSharpRequestLogging();
|
||||
```
|
||||
|
||||
## 7. 结构化与上下文
|
||||
## 8. 结构化与上下文
|
||||
日志条目自动包含:
|
||||
- `Application`、`Environment`、`MachineName`、`ProcessId`、`ThreadId`
|
||||
- `TraceId`、`SpanId`(来自 `Activity.Current`)
|
||||
@@ -105,7 +122,7 @@ using var scope = logger.BeginScope(new Dictionary<string, object>{ ["UserId"] =
|
||||
logger.LogInformation("User {UserId} logged in", userId);
|
||||
```
|
||||
|
||||
## 8. 测试建议
|
||||
## 9. 测试建议
|
||||
- 在测试中为文件输出设置临时目录:
|
||||
```csharp
|
||||
builder.Logging.AddSharpLog(o =>
|
||||
@@ -117,4 +134,3 @@ logger.LogInformation("User {UserId} logged in", userId);
|
||||
```
|
||||
|
||||
如需更多示例,请参考本仓库的测试项目 `test/Log.Test`。
|
||||
|
||||
Reference in new issue
Block a user