Asp.net 内核 + IIS Express。如何查看日志消息?
Asp.net core + IIS Express. How to view log messages?
我正在尝试以这种方式在 ASP.NET Core 中打印日志消息:
Console.WriteLine( "Hello World!" );
loggerFactory.MinimumLevel = LogLevel.Debug;
loggerFactory.AddConsole( LogLevel.Debug );
var logger = loggerFactory.CreateLogger("Startup");
logger.LogWarning( "Hi!" );
我在哪里可以看到这条消息?
输出 window 不包含此消息。
如果我 运行 Web 项目,它 运行 是我可以看到消息的 dnx
控制台,但这并不方便。
如果我 运行 作为 IIS Express 项目,我看不到控制台或消息。
有没有办法查看Visual Studio中的消息?
转到文档 => IISExpress => 日志.
这就是您要找的。
IIS Express 不会将其日志输出到 Visual Studio 的输出 window。
您需要使用不同的日志提供程序。
将其写入日志文件。您可以为此使用一个库,例如 Serilog:
using Serilog;
public class Startup
{
public Startup(IHostingEnvironment env)
{
Log.Logger = new LoggerConfiguration()
.WriteTo.File("log.txt")
.CreateLogger();
...
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
loggerFactory.AddSerilog();
您需要 this NuGet 个包裹。
你可以使用Debug
listener来实现你想要的:
"dependencies": {
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final"
}
Console.WriteLine( "Hello World!" );
loggerFactory.MinimumLevel = LogLevel.Debug;
loggerFactory.AddDebug( LogLevel.Debug );
var logger = loggerFactory.CreateLogger("Startup");
logger.LogWarning( "Hi!" );
None 的其他答案解决了实际问题:“当 运行 使用 IIS Express 的项目时,我们如何看到这些消息?”。所以,我决定添加我自己的,我希望它能帮助别人。
当您选择 IIS Express 时,通常的控制台 window 不会出现。但您仍然可以按照以下步骤查看这些消息。
- 在 Visual Studio 中寻找
Output
window。如果您已经拥有它,请跳过下一步
- 转到查看菜单 > 输出或按
Ctrl + W,O
。将显示输出 window。
- 在输出 window 中,将下拉列表更改为 "<-your-project-name-> ASP.NET Core Web Server" 或类似内容.
- 您应该能够在此处看到这些消息。
我使用的是 VS 2019,以上步骤可能因您的 IDE 版本而异。
我正在尝试以这种方式在 ASP.NET Core 中打印日志消息:
Console.WriteLine( "Hello World!" );
loggerFactory.MinimumLevel = LogLevel.Debug;
loggerFactory.AddConsole( LogLevel.Debug );
var logger = loggerFactory.CreateLogger("Startup");
logger.LogWarning( "Hi!" );
我在哪里可以看到这条消息?
输出 window 不包含此消息。
如果我 运行 Web 项目,它 运行 是我可以看到消息的 dnx
控制台,但这并不方便。
如果我 运行 作为 IIS Express 项目,我看不到控制台或消息。
有没有办法查看Visual Studio中的消息?
转到文档 => IISExpress => 日志.
这就是您要找的。
IIS Express 不会将其日志输出到 Visual Studio 的输出 window。
您需要使用不同的日志提供程序。
将其写入日志文件。您可以为此使用一个库,例如 Serilog:
using Serilog;
public class Startup
{
public Startup(IHostingEnvironment env)
{
Log.Logger = new LoggerConfiguration()
.WriteTo.File("log.txt")
.CreateLogger();
...
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
loggerFactory.AddSerilog();
您需要 this NuGet 个包裹。
你可以使用Debug
listener来实现你想要的:
"dependencies": {
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final"
}
Console.WriteLine( "Hello World!" );
loggerFactory.MinimumLevel = LogLevel.Debug;
loggerFactory.AddDebug( LogLevel.Debug );
var logger = loggerFactory.CreateLogger("Startup");
logger.LogWarning( "Hi!" );
None 的其他答案解决了实际问题:“当 运行 使用 IIS Express 的项目时,我们如何看到这些消息?”。所以,我决定添加我自己的,我希望它能帮助别人。
当您选择 IIS Express 时,通常的控制台 window 不会出现。但您仍然可以按照以下步骤查看这些消息。
- 在 Visual Studio 中寻找
Output
window。如果您已经拥有它,请跳过下一步 - 转到查看菜单 > 输出或按
Ctrl + W,O
。将显示输出 window。 - 在输出 window 中,将下拉列表更改为 "<-your-project-name-> ASP.NET Core Web Server" 或类似内容.
- 您应该能够在此处看到这些消息。
我使用的是 VS 2019,以上步骤可能因您的 IDE 版本而异。