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

杰夫·阿姆斯特朗(Geoff Armstrong):

我正在测试Azure Webjobs。我编写了一个控制台应用程序,用于轮询SQL数据库以进行新工作并对其进行处理。我不使用WebJobs SDK,因为它仅支持Azure存储。

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

[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)

我想将数据写入这些日志(例如正在使用的连接字符串是什么)。我尝试了Console.WriteLine,Debug.WriteLine,Console.Error.WriteLine。它们都没有显示在我的WebJob日志中。

显然,我可以通过在显示我想要的消息文本时引发异常来获取数据,但是必须有更好的方法!如何将SYS INFO行和ERR行写入日志?

阿米特苹果:

关于日志:

对于连续的 Web作业-Console.Out和Console.Error路由到“应用程序日志”,它们将显示为文件,blob或表存储,具体取决于您对应用程序日志的配置(类似于您的网站)。

同样,每次调用的前100行也将转到WebJob日志文件(以减轻启动时WebJob失败时的调试痛苦),该文件可使用Azure门户访问(但也保存在站点的文件系统上,位于data / jobs / continuous / jobName上) )。

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

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

关于连接字符串:

您可以使用ConfigurationManager类访问与网站中相同的连接字符串,对于不是用.NET编写的WebJob,您可以找到这些连接字符串(和应用程序设置)作为环境变量(与您的网站相同)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

您可以从C#控制台应用程序写入CRM 365跟踪日志吗?

如何从C#中的控制台应用程序运行Web应用程序

在C#中的控制台应用程序异步?

控制台应用程序 c# 中的 PrintDialog

如果用户在C#程序中打印“ x”,如何使控制台应用程序退出?

如何在C#控制台应用程序中捕获ctrl-c(SIGINT)

如何在C#的控制台应用程序中设置启动对象?

如何在控制台应用程序C#中访问SolidBrush

如何使用 C# 在控制台应用程序中执行命令或进程

如何在控制台应用程序C#中打印值

如何在控制台应用程序中同时写多个位置?C#

如何修复C#控制台应用程序中的错误KeyEventHandler?

C# 如何在控制台应用程序中制作水平条形图

如何在C#控制台应用程序中过滤文件类型,例如.exe

如何使用C#在内存中执行.NET控制台应用程序?

如何使用 C# 控制台应用程序中的方法更新表?

如何在 C# 控制台应用程序中显示模型列表

Azure WebJobs:是否可以在控制台应用程序中以编程方式检索主机URL?

如何在不覆盖当前数据的情况下将数据写入 C# 控制台应用程序中的文本文件

要存储在 Azure 存储中的控制台应用程序日志

我可以在 azure 中查看我的 Web 应用程序的控制台日志吗?

如何使用命令中的开关在 C# 控制台应用程序中运行命令?

.NET C#控制台应用程序如何从生产环境中获取更详细的异常信息

如何提高命令解析器的可测试性(在C#控制台应用程序中)?

如何使用C#控制台应用程序获取回收站中的文件列表

如何检测控制台应用程序何时被C#中的计划任务停止?

如何在.NET 5.0控制台应用程序上的C#中检查Windows版本

如何在 c# 控制台应用程序中根据用户输入创建多个对象?

在Microsoft Azure WebJobs中运行的控制台应用程序中HttpContext.Current不为null