我正试图通过以下方式打印消息:
Console.WriteLine( "Hello World!" );
loggerFactory.MinimumLevel = LogLevel.Debug;
loggerFactory.AddConsole( LogLevel.Debug );
var logger = loggerFactory.CreateLogger("Startup");
logger.LogWarning( "Hi!" );
但我在哪里可以看到这些消息?
输出窗口不包含此消息。
如果我将项目作为Web运行,它会运行dnx控制台,我可以看到此消息。但这不方便。
但是,如果我以IIS Express的形式运行项目,我看不到也没有控制台,也没有消息。
有没有办法在Visual Studio中查看此消息?
答案 0 :(得分:4)
转到文档 => IISExpress =>的日志强>
这就是你要找的东西。
答案 1 :(得分:4)
您可以使用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!" );
答案 2 :(得分:3)
IIS Express不会将其日志输出到Visual Studio的输出窗口。
您需要使用其他日志提供程序。
将其写入日志文件。您可以使用库,例如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个包裹。
答案 3 :(得分:1)
其他答案都没有解决实际问题:“使用 IIS Express 运行项目时,我们如何看到这些消息?”。所以,我决定添加我自己的,希望对大家有所帮助。
当您选择 IIS Express 时,通常的控制台窗口不会出现。但是您仍然可以按照以下步骤查看这些消息。
Output
窗口。如果您已经拥有,请跳过下一步Ctrl + W,O
。将显示输出窗口。我使用的是 VS 2019,上述步骤可能因您的 IDE 版本而异。