我正在构建一个控制台应用程序,它基本上只是调用数据库的存储过程。这很好,但现在我遇到了这个小问题 - 错误处理。
我使用Serilog记录我在文本文件中遇到的任何错误,但我遇到的问题是我必须在任何地方执行 try-catch 。当然,对于一个小软件来说,使用和放置try-catch并不是很麻烦,但是当涉及到构建大型软件时,我猜你有时会忘记输入错误处理代码??所以我想知道是否有一种方法可以告诉Serilog记录错误并在默认情况下打印错误?
非常感谢任何想法/解决方案。
由于
答案 0 :(得分:-4)
您可以将minimumLevel
指定为error
以捕获整个asp.net核心应用程序中的所有异常。
在Startup.cs中,添加如下最小错误级别 -
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Error()
.WriteTo.RollingFile(Path.Combine(env.ContentRootPath, "Serilog-{Date}.txt"))
.CreateLogger();
或者,如果您使用的是基于配置,则在appsetting中指定最低级别 -
"Serilog": {
"Using": [ "Serilog.Sinks.RollingFile" ],
"MinimumLevel": {
"Default": "Error",
......
......
并在Startup.cs中从appsetting.json读取配置,如下所示 -
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(Configuration)
.CreateLogger();