【问题标题】:Is ther an Azure WebJob Configuration to control logging?是否有用于控制日志记录的 Azure WebJob 配置?
【发布时间】:2017-04-12 18:15:35
【问题描述】:

我正在尝试使用 WebJobs。我在 Visual Studio 2015 中创建了一个新的 WebJob 项目。代码如下:

public class Program
{
    // Please set the following connection strings in app.config for this WebJob to run:
    // AzureWebJobsDashboard and AzureWebJobsStorage
    public static void Main()
    {
        JobHostConfiguration config = new JobHostConfiguration();
        config.Tracing.ConsoleLevel = TraceLevel.Info;

        Environment.SetEnvironmentVariable("AzureWebJobsEnv", "Development");

        if(config.IsDevelopment)
        {
            config.UseDevelopmentSettings();
        }

        config.UseTimers();

        JobHost host = new JobHost(config);
        host.RunAndBlock();
    }
}

public class Functions
{
    public static void GetMarketData([TimerTrigger("00:00:01")] TimerInfo timer, TextWriter log)
    {
        //log.WriteLine($"Market data retrieved at {DateTime.Now.ToString("yyMMdd HH:mm:ss")}");
    }
}

如您所见,我正在使用 Timers 扩展,以便每隔一秒调用一次函数。

当我在本地运行它时(并且假设也在 Azure 上),即使我已经在函数中注释掉了 log.WriteLine,在我创建的存储帐户上也会创建日志。有输出日志的文件显示空文本,还有主机日志包含有关函数的信息。

想象每一秒都有一个日志。如何阻止这些日志被写入?

【问题讨论】:

    标签: azure azure-webjobs azure-webjobssdk


    【解决方案1】:

    请尝试将仪表板连接字符串设置为空,如下例所示以禁用日志记录。

    var config = new JobHostConfiguration();
    
    config.DashboardConnectionString = "";
    config.UseTimers();
    
    var host = new JobHost(config);
    host.RunAndBlock();
    

    【讨论】:

    • 谢谢。这阻止了应用程序日志的写入。如果我想在我认为合适的地方添加日志记录,我假设我必须手动写入 blob。
    猜你喜欢
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多