我使用Log4net來記錄日誌文件中的方法信息,執行持續時間和異常日誌(我可以將其更改爲Elmah或NLog)的WebApi控制器方法調用。我還有一些由開發人員編寫的自定義消息日誌。所有的日誌文件駐留在同一個Web服務器上,如果我想分析它們,我應該將它們移動到另一臺機器上。WebApi自定義日誌和Azure存儲
是否有任何方法將它們直接寫入Azure存儲以及哪種存儲類型(Blob/Table/File)最好?
感謝
我使用Log4net來記錄日誌文件中的方法信息,執行持續時間和異常日誌(我可以將其更改爲Elmah或NLog)的WebApi控制器方法調用。我還有一些由開發人員編寫的自定義消息日誌。所有的日誌文件駐留在同一個Web服務器上,如果我想分析它們,我應該將它們移動到另一臺機器上。WebApi自定義日誌和Azure存儲
是否有任何方法將它們直接寫入Azure存儲以及哪種存儲類型(Blob/Table/File)最好?
感謝
你或許應該考慮對log4net的天藍色的appender:http://stemarie.github.io/log4net.Azure/。它適用於blob存儲和表格存儲。我會選擇保存到表格存儲,因爲您將擁有一些基本的搜索功能,而不是在BLOB存儲上提供。
ELMAH和NLog都具有用於記錄到Azure存儲的類似功能。
對於完全自動化的解決方案,您可以使用Audit.NET及其Audit.WebAPI和Audit.log4net擴展名。
只需添加到您的控制器/方法的屬性:
[AuditApi]
public class UsersController : ApiController
{ ... }
和靜態初始化代碼:
Audit.Core.Configuration.Setup()
.UseLog4net();
就是這樣,你有一個審計系統在您的網頁API調用工作,使用您的默認log4net配置進行日誌記錄。