【发布时间】:2011-10-18 04:43:49
【问题描述】:
在我的 Azure 应用程序中,我使用 Trace.WriteLine() 调用来跟踪应用程序正在执行的操作。
让我感到困惑的是,其中一些进入了日志,而另一些则没有。例如,我的工人角色 OnStart() 方法中的这段 sn-p 代码:
Trace.WriteLine("WorkerRole: creating storage tables", "Information");
CloudStorageAccount account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
CloudTableClient tableClient = account.CreateCloudTableClient();
if (tableClient.CreateTableIfNotExist("Devices")) {
Trace.WriteLine("WorkerRole.OnStart: Devices table created", "Information");
}else{
Trace.WriteLine("WorkerRole.OnStart: Devices table not created. Already exists?", "Information");
}
第一个 Trace 被记录下来。 if 语句中的两个 Trace 调用都没有记录。然后在随后执行的方法中的 Trace 方法会被记录。
有什么想法吗?
【问题讨论】:
-
也许是什么东西在你背后引发了异常?
-
我也这么认为,尽管我在大多数可以抛出的碎片周围都有 try-catch 包装器。似乎有些痕迹确实被记录了,但只是在几分钟后。
-
我在这里发布了可能与此问题重复或不重复的内容:stackoverflow.com/questions/7522762/…
-
在我的场景中,我可以向您保证,这不是引发问题的异常,因为我可以在调试代码时重现它在本地运行。
Trace将很好地输出到“输出”窗口,但它是否会出现在我的 Azure 表中是一个硬币翻转。