c# - Serilog 没有记录任何东西
问题描述
我想在我的项目中使用 Serilog,但我不能让它正常工作。
现在,这就是我所拥有的,仅用于验证和测试目的:
public MainLogger([NotNull] ILogPathProvider logPathProvider)
{
m_logger = Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.CreateLogger();
m_logger.Warning("blabla");
}
正如你所看到的,除了打开一个日志并尝试写一个警告之外,并没有发生很多事情。
但是,不会出现此警告。
有什么我忘记配置/调用的吗?
解决方案
假设您安装了正确的 NuGet 包(Serilog
和Serilog.Sinks.Console
),那么您的代码示例应在控制台中打印一条警告消息,而无需进行任何更改。
您可以通过创建一个简单的控制台应用程序、安装上面的包并运行相同的代码来确认这一点。
问题出在您的应用程序和/或环境中的其他地方......它与 Serilog 无关。
最有可能的是,您的方法MainLogger
根本没有被调用,或者您的控制台输出可能被重定向到其他地方。
推荐阅读
- node.js - 将 yaml 转换为 JSON 返回 ["object Object"]
- python - 尝试通过匹配行值来选择列,但返回该列中另一行的值
- java - TestNg 评估程序
- javascript - 我们可以在 VueJ 的“类型”属性中添加多个值吗?
- reactjs - React:将值从 componentDidMount 传递给 render()
- angular - 无法从商店 ngrx 获取值
- r - 使用 tidyverse 同时过滤、汇总并将结果放入同一数据框的新列中的指定位置
- swift - 两个几乎相同的功能合二为一?
- android - 用户手动向上滚动导航栏后如何再次隐藏导航栏?
- json - 加快将 json 解析为类对象