问题标签 [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.
c# - Serilog 和异步
执行以下操作时,我在 serilog 中丢失了上下文
当我说失去上下文时,我的意思是如果 DoSomething 继续记录,那么早期消息具有相关 ID,而后面的消息则没有。
相反,如果我做以下一切都很好 - 即相关 id 出现在所有下游消息上。
我对后者很满意,但从我看到的一个代码示例中,我希望前者能够工作。
c# - 如何关闭 Serilog?
我们正在使用 Serilog 将项目记录到带有 Windows 服务的数据库中,并且用户希望能够进行手动运行,因此我们制作了一个按钮(在网页上)来调用相同的代码(作为模块,而不是服务本身)。
当我们在代码中添加初始化日志以便代码继续添加到 db 日志表时,它还会记录之后的所有 http 流量。因此,在此代码运行后,我们要“关闭”在 Web 服务器上运行的 Logger。有没有简单的方法可以做到这一点?
logging - 带有 WP8.1 的 Serilog
我正在尝试在 WP8.1 应用程序中使用 Serilog。没有类似的功能
创建 LoggerConfiguration 时。将日志写入文件的唯一机会是使用 WriteTo.TextWriter(...) 方法,我必须在其中定义自己的抽象 TextWriter 类的实现。是否有可能让 Serilog 将日志条目自动写入文件(如在桌面应用程序中)?
谢谢
c# - Serilog ForContext 和自定义属性
我正在尝试将动态自定义属性添加到 Serilog,但我不确定如何按照我想要的方式进行操作。这是代码:
但 Exception 属性没有被持久化。我努力了:
它工作正常,但有时我必须先处理数据才能使用它(比如迭代包含方法参数的字典)。我对想法持开放态度。
c# - 如何在 Serilog 输出模板中创建可选属性?
我正在尝试为以下格式的 serilog 消息创建一个全局输出模板:
我遇到的问题是,某些消息不会包含错误 ID、异常或 ThreadId。因此,当这种情况发生时,我会收到一条消息,其中包含一堆字符,这些字符会给日志消息添加噪音,例如,
2015-06-24 15:11:03,234 [Component, MyApp, ] Info (): This is a message that I'm writing
是否可以让 Serilog 在消息模板中支持可选参数?
mongodb - 如何指定 Serilog.Sinks.MongDB 接收器的集合
github 上的文档使用以下连接字符串:
它说要使这个示例正常工作,您需要将一个名为 log 的集合添加到您的服务器。但是,此连接字符串会将您连接到服务器上的日志数据库,而不指定任何集合。我找不到有关在连接字符串中指定集合的任何信息(这是有道理的),那么如何告诉 MongoDB 接收器写入哪个集合?
我将 SelfLog.Out = Console.Out 添加到应用程序中,但在“输出”窗口中没有看到任何可以帮助我的内容。
后来:我在我的数据库中添加了一个名为“log”的集合,Serilog 正在写入该集合。因此,“日志”似乎已被烘焙到驱动程序中。我想要这个特定数据库的两个不同的日志。所以我的问题仍然存在。有没有办法做到这一点?
c# - 滚动文件名中的 Serilog 自定义上下文,Nlog 上下文
类似于How to output event source Class Name in serilog RollingFile outputTemplate? ,而不是在日志文件 ( outputTemplate
) 中,我想命名该文件。
此外,我试图在使用WriteTo.LiterateConsole + WriteTo.RollingFile
and之间切换,以WriteTo.NLog
维护该自定义上下文。
但是,要完成自定义滚动文件命名,我基本上需要在记录器初始化时提供名称,如下所示:
我想在附加时做类似的事情NLog
,所以我可以利用我现有的 NLog 配置行:
像这样初始化:
c# - Owin 在跟踪中产生了大量的日志噪声
我有一个运行 TopShelf 的小型控制台应用程序,并使用 Serilog 作为我想在其中运行 OWIN 的日志记录工具。但是,一旦我启动应用程序构建器,每条日志消息都会通过跟踪侦听器复制,因此会在控制台上打印两次。
在我启动虚拟主机之前,我已经在这里找到了这个答案并包含了以下内容:
有趣的是:当我在插入这些行后第一次启动应用程序时,它起作用了(例如,双重消息消失了。)。然而,在我清理了我的\bin
目录之后,它们又开始出现了。做什么?
请查看我刚刚制作的这张高度专业的图纸,它应该可以进一步解释这个问题:
asp.net-web-api - 随着 SerilogWeb.Owin 停产,是否有“官方”集成?
我遇到了 SerilogWeb.Owin 包的停产通知,在阅读 GitHub 问题时,考虑到该包的下载量约为 5K+,讨论了“将人们重定向到某处”。
但我无法弄清楚我被重定向到哪里!
那么我应该在哪里寻找“Serilog-blessed”集成以将 Serilog 与(OWIN)自托管 Web API 结合使用?
logging - Serilog - 以多种语言登录
我有一种情况,我们编写在美国和中国都使用的制造软件。我们希望能够让这个软件以英语和另一种语言创建日志,因为这有助于本地技术人员以他们的母语调试问题。拥有英语日志有助于我们(在美国)在需要时提供额外的支持。
我的问题是像 Serilog 这样的日志记录包,是否有既定的模式来处理这样的事情?
到目前为止,我正在考虑两种方法:
- 有一个单独的日志接收器,它接受本地化字符串的字典(例如一组 resx 文件),并在写入日志时使用键作为消息。
- 有多个接收器(或通用“resx 接收器”的多个实例),每个接收器都配置有一个翻译的 resx 文件,该文件使用键记录消息(如选项 1)。
从接收器的代码中,我觉得这两种方法中的任何一种都可以工作,但我想知道是否已经有一些东西可以处理这样的案例。