Azure WebJob不写入输出

时间:2015-03-27 00:44:28

标签: c# azure output azure-webjobs

我在本地调试时有一个写入输出的Azure WebJob,但是当我在Azure中运行它时却没有。输出blob容器完全为空,scm.azurewebsites.net站点中的输出窗口显示为灰色且空白。我是否需要设置任何内容才能将输出发送到那里?

以下是它们两者的截图:

Webjob no output

以下是我在Webjob上运行的代码:

public static void InsertSQLData([BlobTrigger("blobcontainer/{name}")] Stream input, string name)
{
    var sw = new Stopwatch();
    sw.Start();

    RetryAbleBCP rtbcp = new RetryAbleBCP(input,
         "dbo.FullText",
        ConfigurationManager.ConnectionStrings["SqlConnection"].ConnectionString,
        SqlBulkCopyOptions.Default, 
        ',', 
        500, 
        null);
    try
    {
        rtbcp.BulkInsertCSV();
    }
    catch (OutOfMemoryException eoom)
    {
        Console.WriteLine(eoom.Message);
    }
    catch (IOException eio)
    {
        Console.WriteLine(eio.Message);
    }
    catch (InvalidOperationException eiop)
    {
        Console.WriteLine(string.Format("Row {0}: {1}", rtbcp.NumRowsRead, eiop.Message));
    }
    catch (SqlException se)
    {
        Console.WriteLine(se.Message);
    }
    catch (Exception e)
    {
        Console.WriteLine(string.Format("General Application Exception: {0}", e.Message));
    }

    sw.Stop();
    Console.Out.WriteLine("Finished Batch Insert.  Elapsed: {0}ms", sw.ElapsedMilliseconds);           
}

1 个答案:

答案 0 :(得分:4)

在您的代码中,您使用Console.WriteLine()编写日志。要使输出显示在WebJobs仪表板中,请使用TextWriter,如下所示:

public static void InsertSQLData([BlobTrigger("blobcontainer/{name}")] Stream input,
                                 string name, TextWriter log)
{
    // ...
    log.WriteLine("some message");
}