问题标签 [serilog]

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 投票
0 回答
2419 浏览

c# - Serilog 和异步

执行以下操作时,我在 serilog 中丢失了上下文

当我说失去上下文时,我的意思是如果 DoSomething 继续记录,那么早期消息具有相关 ID,而后面的消息则没有。

相反,如果我做以下一切都很好 - 即相关 id 出现在所有下游消息上。

我对后者很满意,但从我看到的一个代码示例中,我希望前者能够工作。

0 投票
3 回答
9109 浏览

c# - 如何关闭 Serilog?

我们正在使用 Serilog 将项目记录到带有 Windows 服务的数据库中,并且用户希望能够进行手动运行,因此我们制作了一个按钮(在网页上)来调用相同的代码(作为模块,而不是服务本身)。

当我们在代码中添加初始化日志以便代码继续添加到 db 日志表时,它还会记录之后的所有 http 流量。因此,在此代码运行后,我们要“关闭”在 Web 服务器上运行的 Logger。有没有简单的方法可以做到这一点?

0 投票
0 回答
57 浏览

logging - 带有 WP8.1 的 Serilog

我正在尝试在 WP8.1 应用程序中使用 Serilog。没有类似的功能

创建 LoggerConfiguration 时。将日志写入文件的唯一机会是使用 WriteTo.TextWriter(...) 方法,我必须在其中定义自己的抽象 TextWriter 类的实现。是否有可能让 Serilog 将日志条目自动写入文件(如在桌面应用程序中)?

谢谢

0 投票
2 回答
4429 浏览

c# - Serilog ForContext 和自定义属性

我正在尝试将动态自定义属性添加到 Serilog,但我不确定如何按照我想要的方式进行操作。这是代码:

但 Exception 属性没有被持久化。我努力了:

它工作正常,但有时我必须先处理数据才能使用它(比如迭代包含方法参数的字典)。我对想法持开放态度。

0 投票
2 回答
1375 浏览

c# - 如何在 Serilog 输出模板中创建可选属性?

我正在尝试为以下格式的 serilog 消息创建一个全局输出模板:

我遇到的问题是,某些消息不会包含错误 ID、异常或 ThreadId。因此,当这种情况发生时,我会收到一条消息,其中包含一堆字符,这些字符会给日志消息添加噪音,例如,

2015-06-24 15:11:03,234 [Component, MyApp, ] Info (): This is a message that I'm writing

是否可以让 Serilog 在消息模板中支持可选参数?

0 投票
1 回答
797 浏览

mongodb - 如何指定 Serilog.Sinks.MongDB 接收器的集合

github 上的文档使用以下连接字符串:

它说要使这个示例正常工作,您需要将一个名为 log 的集合添加到您的服务器。但是,此连接字符串会将您连接到服务器上的日志数据库,而不指定任何集合。我找不到有关在连接字符串中指定集合的​​任何信息(这是有道理的),那么如何告诉 MongoDB 接收器写入哪个集合?

我将 SelfLog.Out = Console.Out 添加到应用程序中,但在“输出”窗口中没有看到任何可以帮助我的内容。

后来:我在我的数据库中添加了一个名为“log”的集合,Serilog 正在写入该集合。因此,“日志”似乎已被烘焙到驱动程序中。我想要这个特定数据库的两个不同的日志。所以我的问题仍然存在。有没有办法做到这一点?

0 投票
0 回答
1578 浏览

c# - 滚动文件名中的 Serilog 自定义上下文,Nlog 上下文

类似于How to output event source Class Name in serilog RollingFile outputTemplate? ,而不是在日志文件 ( outputTemplate) 中,我想命名该文件。

此外,我试图在使用WriteTo.LiterateConsole + WriteTo.RollingFileand之间切换,以WriteTo.NLog维护该自定义上下文。

但是,要完成自定义滚动文件命名,我基本上需要在记录器初始化时提供名称,如下所示:

我想在附加时做类似的事情NLog,所以我可以利用我现有的 NLog 配置行:

像这样初始化:

0 投票
0 回答
538 浏览

c# - Owin 在跟踪中产生了大量的日志噪声

我有一个运行 TopShelf 的小型控制台应用程序,并使用 Serilog 作为我想在其中运行 OWIN 的日志记录工具。但是,一旦我启动应用程序构建器,每条日志消息都会通过跟踪侦听器复制,因此会在控制台上打印两次。

在我启动虚拟主机之前,我已经在这里找到了这个答案并包含了以下内容:

有趣的是:当我在插入这些行后第一次启动应用程序时,它起作用了(例如,双重消息消失了。)。然而,在我清理了我的\bin目录之后,它们又开始出现了。做什么?

请查看我刚刚制作的这张高度专业的图纸,它应该可以进一步解释这个问题:

...

(飞涨)

0 投票
1 回答
781 浏览

asp.net-web-api - 随着 SerilogWeb.Owin 停产,是否有“官方”集成?

我遇到了 SerilogWeb.Owin 包的停产通知,在阅读 GitHub 问题时,考虑到该包的下载量约为 5K+,讨论了“将人们重定向到某处”。

但我无法弄清楚我被重定向到哪里!

那么我应该在哪里寻找“Serilog-blessed”集成以将 Serilog 与(OWIN)自托管 Web API 结合使用?

0 投票
0 回答
356 浏览

logging - Serilog - 以多种语言登录

我有一种情况,我们编写在美国和中国都使用的制造软件。我们希望能够让这个软件以英语和另一种语言创建日志,因为这有助于本地技术人员以他们的母语调试问题。拥有英语日志有助于我们(在美国)在需要时提供额外的支持。

我的问题是像 Serilog 这样的日志记录包,是否有既定的模式来处理这样的事情?

到目前为止,我正在考虑两种方法:

  1. 有一个单独的日志接收器,它接受本地化字符串的字典(例如一组 resx 文件),并在写入日志时使用键作为消息。
  2. 有多个接收器(或通用“resx 接收器”的多个实例),每个接收器都配置有一个翻译的 resx 文件,该文件使用键记录消息(如选项 1)。

从接收器的代码中,我觉得这两种方法中的任何一种都可以工作,但我想知道是否已经有一些东西可以处理这样的案例。