标签: rollingfilesink

'Serilog'已经为'Microsoft.CSharp'定义了一个依赖项

我试图安装serilog,我收到错误

PM> Install-Package Serilog
Install-Package:'Serilog'已经
为'Microsoft.CSharp'定义了一个依赖项.在行:1 char:1
+ Install-Package Serilog
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo:NotSpecified :( :) [Install-Package],出现InvalidOperationException
+ FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

Microsoft.CSharp 已在我的项目中引用

serilog rollingfilesink

11
推荐指数
1
解决办法
5447
查看次数

Serilog - RollingFile Sink 不会根据日期和大小滚动文件

我正在使用 Serilog - RollingFile Sink,但它将所有数据存储在一个文件中一天。在我的应用程序中,一天写入 1 GB 日志。所以我想根据日期和大小滚动日志文件。

如何配置 RollingFile Sink 以根据日期和大小滚动文件?

c# serilog rollingfilesink

7
推荐指数
2
解决办法
1万
查看次数

Serilog机器名称用于滚动文件接收器

我正在尝试使用一些富集程序(现在的机器名和线程ID)以及滚动文件接收器和Loggly接收器.虽然Loggly事件正确包含机器名称和线程ID属性,但我在滚动文件事件中看不到这些.

这是我的xml /代码配置:

<add key="serilog:minimum-level" value="Information" /> 
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Foo\bar-{Date}.txt" />
<add key="serilog:using" value="Serilog.Sinks.Loggly" />
<add key="serilog:write-to:Loggly.inputKey" value="redacted Loggly key" /> 
Run Code Online (Sandbox Code Playgroud)
new LoggerConfiguration()
    .ReadAppSettings()
    .Enrich.WithMachineName()
    .Enrich.WithThreadId()
    .CreateLogger()
Run Code Online (Sandbox Code Playgroud)

有没有人设法做到这一点?这种行为是设计还是滚动文件接收器不支持这些丰富?

c# logging serilog rollingfilesink

5
推荐指数
1
解决办法
7375
查看次数

Serilog - 无法根据属性记录到多个文件

您好,我正在尝试使用 . 在一个文件中记录一些消息,在另一个文件中记录其他消息Serilog

我尝试过以下配置:

Log.Logger = new LoggerConfiguration()
                    .WriteTo.Map("type", "audit", (name, x) => x.File(auditLogPath))
                    .WriteTo.Map("type", "normal", (nm, wt) => wt.File(logpath).WriteTo.Console())
                    .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

现在我期望当我的Push键值对的键是audit日志上下文时,我的数据将记录在第一个模式中audit

using(LogContext.PushProperty("type","audit")
{
    Log.Information("something");
} 
Run Code Online (Sandbox Code Playgroud)

为什么我的数据会出现第二种模式?它被记录到控制台并放入另一个文件中,我不明白为什么。

更新

从下面的答案中我了解到不需要定义多个记录器,而是基于以下内容进行调度key

Log.Logger = new LoggerConfiguration()
                  .WriteTo.Map("type", string.Empty, (nm, wt) => {
                      if (nm == "audit") {
                        wt.File(auditLogPath);  //i want to write here !
                        return;
                      }
                      wt.File(logpath).WriteTo.Console()                                                                                
                   })
             .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用它登录第一个场景(audit如下所示)时,所有日志都会放置在另一个场景中(logpath+ Console

using(LogContext.PushProperty("type","audit"))
{
    Log.Information("something");
}
Run Code Online (Sandbox Code Playgroud)

logging serilog rollingfilesink asp.net-core

4
推荐指数
1
解决办法
1175
查看次数

Serilog - 可以在RollingFile接收器中更改DateTime/Timestamp格式

RollingFile接收器的当前输出日期时间如下

2015-04-06 18:40:54.400 +10:00 [Information] Hello World!
Run Code Online (Sandbox Code Playgroud)

无论如何要删除TimeZone偏移量?+10:00.实现以下输出;

2015-04-06 18:40:54.400 [Information] Hello World!
Run Code Online (Sandbox Code Playgroud)

在我的情况下,时区偏移是多余的绒毛,这只是混乱我的文本日志.

serilog rollingfilesink

2
推荐指数
1
解决办法
3474
查看次数

标签 统计

rollingfilesink ×5

serilog ×5

c# ×2

logging ×2

asp.net-core ×1