serilog相关内容
我将我的项目配置为使用 Serilog 使用依赖注入进行日志记录.我在类构造函数中使用以下架构: 命名空间 FlickPopper.API.Controllers {公共类值控制器:控制器{私有 ILogger_记录器;公共 MyClass(ILogger logger) {_logger = 记录器;}}} 通过这种方式,serilog创建了对Log.ForContext 的记录器调用
..
我已经使用 Host 创建了一个 .NET Core 3.1 项目,这是一个带有 IServiceCollection 的 IoC 容器,并使用 ILogger 接口在整个地方实现了日志记录.Microsoft.Extensions.Logging.我现在需要实现更高级的日志记录并决定使用 Serilog. 我认为从 .NET 内置记录器切换到 Serilog 会轻而易举.但令我惊讶的是,S
..
在 log4net 中,您可以选择声明具有 levelMin levelMax 范围的不同文件附加器.这样你就可以有一个用于调试的文件和一个用于错误的文件.如何在 serilog 文件接收器中具有相同的行为.我有这个代码,但你只能指定 MinimumLevel Log.Logger = new LoggerConfiguration().WriteTo.Async(a =>{a.RollingF
..
我正在使用 vs 2017,编写一个 netcoreapp2.0 库,并使用 UnitTest 项目对其进行测试(XUnit 和 NUnit 给出相同的结果). 我注意到除非我强行处理我的 Serilog 记录器,否则只有第一行会以 Seq 结尾. 这是我的 2 节课.图书馆一: 公共类 Class1{公共静态记录器_log;public Class1(记录器日志){_log = 日志;
..
我正在使用 .net Core 2.0 和 Serilog 电子邮件接收器.我在使用 appsettings.json 配置电子邮件接收器时遇到问题.program.cs 中的相同配置正在运行,而 appsetting.json 中的配置不起作用. 解决方案 设置系统 (ReadFrom.Configuration()) 实际上只是尝试调用方法和扩展方法 它可以发现并传递从配置文件提供的参
..
我有两个带有 Serilog 的记录器,它们保存到不同的文件中.我想通过 appsettings.json 而不是代码创建记录器. 当我通过 Startup.cs 配置创建我的记录器时,我得到了一个更具体的日志,我更喜欢这样,因为它更清晰,并允许其他人检查日志和无需太多技术知识即可了解正在发生的事情.但是,我想将其应用于 appsettings,以便我可以将代码迁移到我可能使用的任何其他项目
..
我使用 Visual Studio 和集成的 Serilog 创建了一个新的 .NET Core Web 项目.它从 appsettings.json 读取设置(通过 .UseSerilog((ctx, config) => { config.ReadFrom.Configuration(ctx.Configuration); })). 在 appsettings.json 中,写入日志的路
..
我有一段代码,用于根据一些自定义配置结合托管环境来设置 serilog.例如.应用程序在开发中写入一个接收器,在生产中写入另一个接收器. 我想弄清楚如何为这段代码编写测试.基本上,我想编写一个测试,检查仅当环境名称设置为给定值时才添加接收器,并且接收器配置(如日志文件路径)尊重我提供的自定义配置. 但是我没有找到任何方法从 LoggingConfiguration 中取出的值...
..
如果您能在使用 .NET Core 为 AWS CloudWatch 设置 Serilog 接收器方面得到一些指导,我将不胜感激.我正在使用 appsettings.json 进行配置,但我无法将设置放入记录器中.尝试将日志信息写入 CloudWatch 时出现此错误: 启动应用程序时出错.AmazonClientException:未配置 RegionEndpoint 或 ServiceURL
..
我正在使用滚动将所有日志写入一个文件.但我想通过 Information、Warning 和 Exceptions 滚动文件将它们分开. 我现在的配置是这样的 "Serilog": {“写给": [{"Name": "滚动文件",“参数":{"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] {Mess
..
我正在尝试为 .NET Core 项目配置 Serilog.这是我在 appsettings.json 中的内容: “Serilog":{“最低级别":“详细",“丰富":[“FromLogContext"、“WithMachineName"、“WithProcessId"、“WithThreadId"]、“写入":[{“名称":“滚动文件",“参数":{"pathFormat": "C:/L
..
我有一个 .NET Core 2.0 应用程序,我在其中成功使用 Serilog 进行日志记录.现在,我想将一些数据库性能统计信息记录到一个单独的接收器(它们不是用于调试,这基本上是应用程序中所有其他日志记录的目的,所以我想将它们分开)并认为这可以完成通过使用 Log.ForContext() 创建数据库统计记录器. 我不知道我应该如何配置 Serilog 使用我的 appsettings.
..
TL;DR 在 ASP.NET Core 应用程序中,我有一个 appsettings.json 配置文件,它使用 JSON 数组来配置一组设置. 如何使用环境变量覆盖数组对象之一的设置? 背景 我在 ASP.NET Core 应用程序中使用 Serilog 并使用 Serilog.Settings.Configuration,允许使用 appsettings.json 进行配
..
我已经使用 Host 创建了一个 .NET Core 3.1 项目,这是一个带有 IServiceCollection 的 IoC 容器,并使用 ILogger 接口在整个地方实现了日志记录.Microsoft.Extensions.Logging.我现在需要实现更高级的日志记录并决定使用 Serilog. 我认为从 .NET 内置记录器切换到 Serilog 会轻而易举.但令我惊讶的是,S
..
我正在使用 Serilog 记录应用程序洞察,但我只得到日志级别警告、错误和要记录的关键.在 appsettings.json 中,我将最小日志级别设置为详细,这会记录文件和控制台接收器的所有内容. 默认情况下,应用洞察只能记录警告及以上.在代码中(在配置日志记录中),我可以添加一个过滤器来覆盖警告及以上的默认值.我更喜欢在 appsettings 中执行此操作,并使用其他日志记录配置.
..
这篇关于 Serilog 最低级别覆盖的文章指出: Override 的第一个参数是源上下文前缀,它通常与与记录器关联的类的命名空间限定类型名称匹配. 对于这种所谓的“正常"行为,我是否不需要为调用我的记录器的每个类手动设置不同的 .ForContext() ?换句话说,如果没有关于如何设置 .ForContext 的特定约定,命名空间特定的最低日志级别应该如何工作? 如果这
..
我正在使用 SeriLog(带 Loki 接收器),而且我还有一个 Exception handler lambda-就像这里,它捕获代码执行期间发生的所有异常,并用适当的标签记录它们. 但是,Serilog 本身会自动捕获所有未处理的异常并在我之前记录它们.结果,一个异常被记录了两次. 如何禁用 Serilog 的自动日志记录?这是我当前的 Serilog 配置: public s
..
我和 Serilog 缺少什么 namspace? 我可以在带有各种 Serilog 接收器的 C# 代码中使用 LoggerConfiguration(),但我的编译器抱怨我使用“.WriteTo.File"的规范.我很困惑,因为我已经能够在另一个演示解决方案中使用这个规范.我想知道是否需要添加某种程序集作为参考.我已经从“包管理器控制台"运行了“Install-Package Seril
..
我正在使用 dotnet worker 服务 (.net 5)我集成了 serilog 以及浓缩器和接收器.但由于某种原因,我的文件日志中没有看到任何输出. 这是我的 appsettings.json {“连接字符串":{“DefaultConnection":“Server=.;Database=eeee;Trusted_Connection=True;MultipleActiveRes
..
有没有办法设置 Serilog 以在保持最大文件大小的同时继续登录同一个文件? 换句话说,如果我指定最大文件大小为 100MB,则进程应该在添加新条目之前从文件中删除较早的条目. 解决方案 TL;DR no;File(或它的 RollingFile 前身)没有提供这样的功能,并且不太可能在任何时候为磁盘支持的日志提供这样的功能. 因此,可用的最佳解决方案是将最大数量设置为 2
..