从 Asp.Net Web Api 应用程序(版本 5)内部,我试图将日志发送到 LogEntries 但不能。使用相同的代码和配置,我可以从 localhost 成功发送日志。
这是我用来发送日志的代码(使用 NLog :)
private static Logger log = LogManager.GetCurrentClassLogger();
public static void LogString(string message)
{
log.Error(builder.ToString());
}
这是 web.config 配置:
<appSettings>
<add key="Logentries.Token" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
</appSettings>
<nlog>
<extensions>
<add assembly="LogentriesNLog" />
</extensions>
<targets>
<target name="logentries" type="Logentries" debug="true" httpPut="false" ssl="false" layout="${date:format=ddd MMM dd} ${time:format=HH:mm:ss} ${date:format=zzz yyyy} ${logger} : ${LEVEL}, ${message}" />
</targets>
<rules>
<logger name="*" minLevel="Debug" appendTo="logentries" />
</rules>
当我在生产环境中将此代码作为 Azure Web 应用程序运行时,我在 LogEntries 控制台上看不到任何日志。当我在 localhost 上运行它时,它运行成功。
我还尝试使用 WebRequest 类向 google.com 发出一个简单的 http 请求,并且可以从 Azure 上的服务器获取 200。所以我认为 Azure 应用程序可以访问 Internet,但由于某种原因不能/不访问 LogEntries 服务器。
我该如何诊断?