如何从C#控制台应用程序写入Azure WebJobs中的日志?

我正在testingAzure Webjobs。 我编写了一个控制台应用程序来轮询一个SQL数据库的新工作,并对其进行处理。 我没有使用WebJobs SDK,因为它只支持Azure存储。

我上传作业,它运行,然后失败,并有一个exception,说它无法连接到SQL数据库实例。 我想知道什么连接string正在使用; 它是从Azure网站获取连接string吗? 日志给了我这个:

[03/14/2014 22:24:25 > 512206: SYS INFO] Status changed to Running [03/14/2014 22:24:40 > 512206: ERR ] [03/14/2014 22:24:40 > 512206: ERR ] Unhandled Exception: System.AggregateException: One or more errors occurred. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 

我想将数据写入这些日志(如正在使用的连接string是什么)。 我试过Console.WriteLine,Debug.WriteLine,Console.Error.WriteLine。 他们没有出现在我的WebJob日志中。

显然我可以通过提供一个exception信息来显示我想要的信息,但是必须有更好的方法来获取数据。 如何将SYS INFO行和ERR行写入日志?

关于日志:

对于连续的 WebJobs – Console.Out和Console.Error被路由到“应用程序日志”,他们将显示为文件,blob或表的存储取决于您的应用程序日志(类似于您的网站)的configuration。

另外,每个调用中的前100行还将使用Azure门户访问WebJob日志文件(以便在debuggingWebJob时出现故障时缓解debugging痛苦)(还保存在数据/作业/连续/作业名称的站点文件系统上)。

对于触发的/计划的 WebJobs,Console.Out / Console.Error被路由到WebJobs特定的运行日志文件,该文件也可以使用Azure门户访问并存储在data / jobs / triggered / jobName / runId。

Console.Out被视为(标记)为INFO和Console.Error为ERROR。

关于连接string:

您可以使用ConfigurationManager类访问与网站中相同的连接string,而不是用.NET编写的WebJobs,您可以将这些连接string(和应用程序设置)作为环境variables(与您的网站完全相同)进行查找。

我能够得到Console.WriteLine()留言在我的networking作业日志。 以下控制台运行并保留日志消息。

 class Program { static void Main(string[] args) { while (true) { DoStuff(); Thread.Sleep(10000); } } public static void DoStuff() { Console.WriteLine("do stuff"); } } 

这是我的日志文件显示:

 [03/15/2014 04:05:28 > cf6d00: SYS INFO] Run script 'HelloWebJobConsoleApplication.exe' with script host - 'WindowsScriptHost' [03/15/2014 04:05:28 > cf6d00: SYS INFO] Status changed to Running [03/15/2014 04:05:28 > cf6d00: INFO] do stuff [03/15/2014 04:05:38 > cf6d00: INFO] do stuff [03/15/2014 04:05:48 > cf6d00: INFO] do stuff [03/15/2014 04:05:58 > cf6d00: INFO] do stuff