gpt4 book ai didi

logging - ASP.NET Core 1.0 日志记录

转载 作者:行者123 更新时间:2023-12-03 22:25:17 25 4
gpt4 key购买 nike

我有 ASP.NET Core Web API 项目。现在我想日志 错误和事件。我以前在我的项目中使用过 ELMAH,但似乎 elmah 不适用于 ASP.NET Core。我提到了this Official link用于配置 Microsoft 提供的默认日志记录服务。我看不到如何将这些日志保存在文本文件或数据库中。

如果 ASP.NET Core 已经具有默认的日志记录功能,我想知道为什么要使用其他工具,例如 elmah、log4net。因此,当我再次搜索实现默认日志记录以将日志保存在数据库或文本文件中的文章时,我找不到任何内容。有什么方法可以使用 ASP.NET 核心内置的日志记录支持将日志保存在文件中?

我目前正在使用运行良好的 Serilog,并且还下载了 seq 以在浏览器中优雅地显示日志。但是,我仍然想知道如何使用内置的 asp.net 核心日志记录功能来实现相同的目标。

使用 Serilog 的日志文件:


使用 Seq 显示的日志:
enter image description here

最佳答案

默认情况下 ASP.NET 核心 如果基于标准 进行日志记录.NET 核心 抽象和所述抽象的实现。 link您提供的正是您在使用日志服务时要遵循的内容。例如,在调试时,这些将写入标准输出(输出窗口)。

您正在寻找的部分是 web.config .考虑以下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule"
resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%"
forwardWindowsAuthToken="false" stdoutLogEnabled="true"
stdoutLogFile="C:\temp\logs\log.log" />
</system.webServer>
</configuration>

您正在寻找 stdoutLogEnabled and stdoutLogFile .

stdoutLogEnabled If true, stdout and stderr for the process specified in processPath will be redirected to the file specified in stdoutLogFile.





stdoutLogFile Specifies the relative or absolute file path for which stdout and stderr from the process specified in processPath will be logged. Relative paths are relative to the root of the site. Any path starting with ‘.’ will be relative to the site root and all other paths will be treated as absolute paths.



另见 Publishing to IIS有关 的详细信息ASP.NET 核心 模块。

关于logging - ASP.NET Core 1.0 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38119647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com