更改 Visual Studio 调试器控制台的标题/名称

问题描述 投票:0回答:1

我对哪个项目是什么感到困惑,因为每个控制台看起来都相同并且具有相同的名称和标题,所以我希望能够更改 Visual Studio 调试器控制台的标题/名称。

我尝试更改使用:


Console.Title = "My Custom Name";

我尝试过的任何其他方法都不起作用。

通常,Azure Function 初创公司看起来像这样:

我尝试将

Console.Title = "My Custom Title";
放置在
host.Run()
之前以及构建HostBuilder之前,并且在ConfigureAppConfiguration内部,这些放置都不起作用。

    public static void Main()
    {
        // initialize here because we want to be able
        LoggerConfiguration loggerConfiguration = new LoggerConfiguration()
                  .MinimumLevel.Information()
                  .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
                  .MinimumLevel.Override("Worker", LogEventLevel.Warning)
                  .MinimumLevel.Override("Host", LogEventLevel.Warning)
                  .MinimumLevel.Override("System", LogEventLevel.Error)
                  .MinimumLevel.Override("Function", LogEventLevel.Error)
                  .MinimumLevel.Override("Azure.Core", LogEventLevel.Error)
                  .MinimumLevel.Override("Azure.Storage.Blobs", LogEventLevel.Warning)
                  .MinimumLevel.Override("Azure.Storage.Queues", LogEventLevel.Warning)
                  .MinimumLevel.Override("Azure.Messaging.ServiceBus", LogEventLevel.Warning)
                  .WriteTo.ApplicationInsights(
                       TelemetryConfiguration.CreateDefault(),
                       TelemetryConverter.Traces,
                       LogEventLevel.Information)
                   .Enrich.FromLogContext();

        if (EnvironmentExtensions.IsDevelopment())
        {
            const string consoleOutputTemplate = "[{Timestamp:HH:mm:ss} {Level}] {Message}{NewLine}{Exception} {Properties} {NewLine}";
            loggerConfiguration.WriteTo.File(new JsonFormatter(",", formatProvider: CultureInfo.InvariantCulture), Path.ChangeExtension($"./logs-{DateTime.Today:yyyy-MM-dd}-", ".json"), rollingInterval: RollingInterval.Day)
                                           .WriteTo.Console(outputTemplate: consoleOutputTemplate, formatProvider: CultureInfo.InvariantCulture, theme: AnsiConsoleTheme.Literate, applyThemeToRedirectedOutput: true);
        }
        else
        {
            loggerConfiguration
                .Enrich.WithThreadId()
                .Enrich.WithThreadName();
        }

        Log.Logger = loggerConfiguration.CreateLogger();

        IHost host = new HostBuilder()
            .ConfigureFunctionsWorkerDefaults(
                worker => worker.UseNewtonsoftJson(),
                options =>
                {
                    // exceptions thrown by your user code may end up wrapped in an RpcException.
                    // To remove this extra layer, set the EnableUserCodeExceptions property to "true"
                    options.EnableUserCodeException = true;
                }
            )
            .ConfigureAppConfiguration(builder =>
            {
                builder.SetBasePath(Directory.GetCurrentDirectory())
                        .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                        .AddEnvironmentVariables()
                        .AddUserSecrets(Assembly.GetExecutingAssembly(), optional: true);
            })
            .ConfigureServices((context, services) => ConfigureAppServices(services, context.Configuration))
            .ConfigureLogging(logging =>
            {
                logging.ClearProviders();
                logging.AddSerilog(Log.Logger, dispose: true);
            })
            .Build();

        host.Run();
    

c# visual-studio azure-functions console
1个回答
0
投票

首先创建.NET 6 Function App并设置控制台标题。运行成功:

enter image description here

然后创建.NET隔离功能应用程序并更改控制台标题。它没有按预期工作:

enter image description here

观察到隔离的功能应用程序有一个单独的工作进程,并且在控制台运行程序中设置标题没有影响。

2022 年报告了与 Azure-functions-dotnet-worker 控制台名称/标题更改相关的类似问题,许多开发人员评论说这是必需的功能,但由于不活动而关闭。通过引用上一个票证,在 GitHub Azure-Functions-dotnet-worker 存储库中提出新票证 - GitHub-AF-dotnet-worker-issue-960

© www.soinside.com 2019 - 2024. All rights reserved.