问题标签 [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 投票
2 回答
27676 浏览

.net - 如何使用 Serilog ForContext

我是 Serilog 的新手,我很难弄清楚如何使用上下文功能。当我在输出文件下面运行代码时,不包含报告 ID。有什么我想念的想法吗?

0 投票
1 回答
2591 浏览

c# - 如何从配置中无限期地初始化retainedFileCountLimit

尝试将以下代码配置转换为配置行:

滚动文件接收器的文档指出,为了无限期地保留日志,必须将retainedFileCountLimit参数发送为null.

我试过这个

但正如我所料,null文字不被接受,而且似乎试图直接转换为 Int32。

这是堆栈跟踪以供参考:

0 投票
2 回答
12975 浏览

c# - 用于滚动文件接收器的 Serilog 机器名称丰富器

我正在尝试将几个丰富器(现在是机器名称和线程 ID)与滚动文件接收器和 Loggly 接收器结合使用。虽然 Loggly 事件正确包含机器名称和线程 ID 属性,但我在滚动文件事件中看不到这些。

这是我的 xml/代码配置:


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

0 投票
1 回答
1458 浏览

.net - Serilog:{..} 和 {@..} 之间的区别

鉴于此代码:

d1 中的对象将如何在两个 Log.Logger.Information(...) 行中以不同方式记录?换句话说,在 { } 之间添加 @ 有什么作用?

我在“保留对象结构”标题下阅读了https://github.com/serilog/serilog/wiki/Structured-Data,但这对我来说没有意义。

0 投票
3 回答
2515 浏览

.net - Serilog:无法使用 MongoDb 接收器登录到 MongoDb

我有一个本地 MongoDb 数据库实例(通过从 Windows 命令行运行 mongod 创建)和一个简单的控制台程序,它尝试使用 Serilog 及其 MongoDb 接收器将字符串记录到 MongoDb 数据库:

“致命消息”消息已正确写入控制台,但未正确写入我的 MongoDb 数据库。

我当前的 MongoDb 数据库是“mydb”。根据“显示集合”,我只有集合 system.indexes 和 testData,而“db.testData.find()”什么也没产生。

Serilog 站点说要使用连接字符串“mongo://mydb/log”,但这会引发异常“MongoDB.Driver.dll 中发生了类型为 'System.FormatException' 的未处理异常”。我在代码中使用的连接字符串在 MongoDb 站点上指定,位于http://docs.mongodb.org/manual/reference/connection-string/

如何使用 Serilog 登录到 MongoDb?

0 投票
1 回答
1271 浏览

appsettings - 在 appSettings 中设置每个接收器的 restrictedToMinimumLevel

不确定这是否受支持,但我想通过 appSettings 为我的 ColoredConsole 接收器设置“restrictedToMinimumLevel”。

我正在创建 Serilog 全局对象,如下所示:

我在我的 app.config 中尝试了以下内容:

似乎 Serilog 正在尝试处理但在字符串到 Serilog.Events.LogLevel enum(?) 转换时阻塞。

我做错了什么,还是当前不支持此功能?

谢谢。

0 投票
0 回答
1734 浏览

c# - 如何配置 Serilog 以使用 log4net 接收器?

到目前为止,我使用的是在应用程序启动时配置的 log4net 记录器:

上面的代码确保使用配置文件 log4net.config 将日志写入 ../logs 文件夹

现在我开始使用 Serilog 并希望保留当前的 ​​log4net 日志记录,但由具有专用 log4net 接收器的 Serilog 控制。所以我保留了上面的代码并编写了以下附加代码:

我看到日志文件是在应用程序启动时创建的,但只要我使用 Serilog 记录器就不再写入。

Serilog 不应该将 log4net 配置与它的 log4net 接收器一起使用吗?

0 投票
1 回答
4803 浏览

c# - 使用 appSettings 配置自定义 Serilog 接收器

我创建了一个新的 Serilog 自定义接收器,并尝试通过 appSettings 对其进行配置。

自定义接收器名为“DiagnosticsBroadcaster”。它的 LoggerSinkConfiguration 扩展是:

DiagnosticsBroadcast 接收器类是:

如果我将其配置如下,则此自定义接收器可以工作:

但是如果我尝试通过 appSettings 配置它,它的方法永远不会被调用:

关于如何通过 appSettings 配置 DiagnosticsBroadcaster 的任何建议?

谢谢。

0 投票
1 回答
3255 浏览

wcf - 在 WCF 中使用 Serilog

我在我的网站和 Web API 中使用 Serilog,一切都很好。

现在我想在 WCF 中使用 Serilog。

但是当我新建一个 LoggerConfiguration 并从 WCF 中创建一个记录器时,日志记录似乎不起作用?例如,没有任何内容被输出到文本文件。

最终,我想从 WCF 服务中写入 Seq。

我错过了什么或做错了什么?

有没有人有一些工作代码示例来说明如何做到这一点?

在 WCF 中使用 Serilog/Seq 堆栈有技巧吗?

0 投票
5 回答
20854 浏览

logging - 哪个 Serilog 接收器用于发送到 Logstash?

我们开始将 Serilog 与 Elasticsearch 结合使用,它是存储结构日志数据的一种非常有效的方式(然后使用 Kibana 等工具将它们可视化)。但是,我看到了不将日志数据直接写入后端而是配置日志代理(例如 Logstash)的优势,该代理可以负责为日志消息添加标签、选择索引等。通过这种设置,应用程序不需要具备相关知识日志数据分布。

中间有 Logstash,问题是最好使用什么 Serilog 接收器,以便 Logstash 可以在不应用高级和 CPU 密集型过滤器的情况下导入其数据。我已经看到 Redis 被称为 Logstash 的良好伴侣,但 Serilog 没有 Redis 接收器。对 Serilog 接收器有哪些建议,哪些数据可以通过 Logstash 轻松传输到 Elasticsearch 索引?

甚至还有一种方法是先使用 Elasticsearch 接收器,然后在经过一些安排并应用额外的标签后再次将其环回 Elasticsearch。