问题标签 [serilog-sinks-file]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
49 浏览

json - Serilog 不解析文件名模板

我正在使用带有此配置的 serilog:

输出文件应该看起来像20210613-performance.log但是输出文件看起来像{Date}-performance20210613.log.

我做错了什么?

0 投票
1 回答
24 浏览

serilog - 设置 Serilog 滚动文件的最大值

我想知道是否可以设置滚动文件的最大数量?

我想这样做,所以我不需要创建一个作业来清理旧的日志文件。上个月的日志就好了。

这是我目前的配置

0 投票
0 回答
68 浏览

c# - 为什么我无法让 Serilog 登录到磁盘或 App Insights?

在过去一年左右的时间里,我一直在多个项目中成功使用 Serilog,所有项目都具有相对相同的设置,记录到磁盘上的文件并发送到 Azure Application Insights,但最近我注意到我没有看到日志出现在指定文件夹或我的 Application Insights 资源中。我查看了设置中是否发生了某些变化,但我不确定会发生什么。

这是我的代码: 在 Asp.Net Core Console APP 的 Program.cs 中:

...

...

...

我验证了所使用的 ApplicationInsights 密钥对于所指向的资源也是正确的。

0 投票
1 回答
361 浏览

c# - 如何在 appsettings.json 中使用多个单独的记录器 Serilog 文件

我正在尝试使用Serilog.Sinks.File配置 Serilog 两个不同的文件来存储 MVC 项目和另一个Serilog.Sinks.MSSqlServer我的 SQL 服务器表。如何创建两个不同的地方存储错误文件?

这是我的appsettings.json文件代码

0 投票
1 回答
133 浏览

.net - Serilog 未从控制台应用程序写入文本文件

我有一个Logging.Core包含以下简单类的类库。我的目标是在解决方案中的所有其他项目之间共享一个配置的记录器:

然后在我的控制台应用程序的Program类中,我尝试编写日志条目:

当我检查我的输出文件夹时,我看到log.txt已创建但它应该至少有一个条目时为空,“应用程序启动已开始”。控制台应用程序完全按预期运行,进程以代码 0 退出。两个项目都是 .NET 5.0,并且日志库具有以下 Nuget 包:

0 投票
0 回答
91 浏览

logging - 由于 serilog 事件收集器导致的性能问题

我正在考虑为我的应用程序使用 serilog。我们有 .net core 2.1 应用程序。想要将应用程序日志推送到 splunk。所以我有选项可以使用 Serilog.Sinks.Splunk 并推送日志 WriteTo.EventCollector(特定索引在 splunk 中配置)另一个选项是我可以使用 witeto.File 将日志写入文件并使用转发器日志可以在 splunk 中使用.

配置看起来像

在这方面需要建议

  1. 上述哪种方法更好?
  2. serilog中的WriteTo.EventCollectorVs有什么性能差异吗?witeto.File
  3. 如果我使用上述配置,会不会对性能产生影响?任何更多配置可以与此一起使用以获得更好的性能?
0 投票
1 回答
214 浏览

c# - 不能强制 Serilog.Sinks.Async 中包装的 Serilog.Sinks.File 以两阶段初始化方法工作

使用 appSettings 配置进行两步初始化时,Serilog 不会记录到包裹在异步接收器中的文件接收器。我正在使用以下 Serilog NuGet 包:

我想将 appSettings.json 配置与两阶段初始化一起使用。我的应用程序的入口点如下:

我的 appSettings.json (我还没有 .Development 和 .Release 版本)是:

使用此配置,即使在使用 100 000 个请求轰炸 API 之后,日志文件也仅显示来自初始引导的消息:

虽然控制台显示(为简洁起见而缩短):

我无法强制 Serilog 在引导后将消息记录到文件中,控制台工作得很好。

0 投票
0 回答
40 浏览

serilog - Serilog UWP 后台任务

在 uwp 应用程序中运行后台任务时,我在使用 serilog 时遇到了一些问题。

我正在使用 appsettings 进行配置,但没有完成任何日志。

在我的后台任务中,我正在这样做:

我做错了什么?还是失踪?

0 投票
1 回答
50 浏览

serilog - Serilog 子类在使用 ByIncludingOnly 时不记录

我正在使用以下日志配置..

我正在努力做到这一点,以便记录作业服务调用的任何类。我不能将这些类直接添加到配置中,因为它们是从其他具有高事务量的类中使用的,而且我不想弄乱日志。

无论如何,有没有从配置的调用类中记录子类?

0 投票
0 回答
121 浏览

c# - Serilog:使用子记录器和过滤器的多文件输出

我的 C# Serilog 输出应该转到两个不同的文件:使用一组表达式 (WriteOperationalLog) 时的“常规”输出,以及使用另一组表达式 (WriteJsonLog) 时的 JSON 输出。

据我了解,我认为我应该使用子记录器来过滤掉 JSON 表达式并将其发送到我的单独文件输出。每当我尝试使用过滤器时,它都会导致无限循环。

我的记录器创建函数如下所示:

如果有人可以向我指出有关如何使用 .Filter 功能的文档,那将非常有帮助,因为我自己找不到任何好的东西。

编辑:我设法弄清楚了!

我的记录器配置现在如下所示:

我们现在使用Serilog.Context在 WriteJSONLog 函数中添加一个“JSON”属性:

使用该Serilog.Filters包,我们可以测试 logEvent 是否包含该 JSON 属性。我的 LoggerConfiguration 还有一些其他错误,但现在看起来像这样: