[英]logging on Azure
我們如何使用與log4net等效的粒度和控制來登錄Azure? 我們在IIS上運行的網絡應用程序中使用log4net,這對我們非常有用。 這也是Azure上最好的嗎?
我們絕對更喜歡日志文件( 而不是數據庫條目 ),但是如果在Azure中有更好的效果,我會接受改進。 Trace寫入Azure中的表格的方式非常糟糕 - 我們絕對不會這樣做。
我更喜歡日志文件的原因是它很容易看到順序發生了什么,這是我99%的時間所需要的。
這適用於具有多個實例的Azure Web應用程序。 如果日志與每個實例不同,那就沒問題。
謝謝 - 戴夫
這很簡單。 我使用以下log4net
配置將日志文件轉儲到Web應用程序根文件夾中(輕松更改為子文件夾):
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
<param name="File" value="my_web.log" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{yyyy-dd-MM HH:mm:ss.fff} [%thread] %-5level %logger.%method [%property{NDC}] - %message%newline" />
</layout>
</appender>
</log4net>
然后我直接從Visual Studio檢查日志文件(雙擊文件下載它)服務器資源管理器:
我認為在Azure中本地存儲日志文件時應該小心,因為這不能保證堅持下去。 用於存儲網站的VM可以重新映像,日志將丟失。
更好的解決方案是使用Azure診斷結合log4net(對於其他日志記錄機制(如NLog)也可以使用)。 流程在這里是sumarrized:
將本地存儲設置為寫入日志文件的角色實例(虛擬機)上的位置。
將一個元素添加到diagnostics.wadcfg文件,以指示Azure診斷程序在blob存儲中創建和使用容器。
在其中添加元素以指示Azure診斷程序監視LogStorage本地資源位置中的日志記錄文件夾。
這樣,本地存儲的日志將被復制到blob存儲。
全文: http : //justazure.com/microsoft-azure-diagnostics-part-1-introduction/
記錄Azure VM或雲服務數據的最佳方法是使用Log4Net登錄磁盤以及將所有實例的日志信息記錄到Azure存儲帳戶。 優點是您將獲得更強大的解決方案。 如果由於某種原因,Azure診斷程序在實時站點中中斷,您仍然可以遠程訪問任何實例並嘗試診斷問題。 對於其他服務(例如Web應用程序,您無法遠程訪問實例),將信息記錄到Azure存儲帳戶就足夠了。
設置和測試需要半天或一天,但我希望能回答你的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.