2016-09-09 95 views
2

我使用Log4net來記錄日誌文件中的方法信息,執行持續時間和異常日誌(我可以將其更改爲Elmah或NLog)的WebApi控制器方法調用。我還有一些由開發人員編寫的自定義消息日誌。所有的日誌文件駐留在同一個Web服務器上,如果我想分析它們,我應該將它們移動到另一臺機器上。WebApi自定義日誌和Azure存儲

是否有任何方法將它們直接寫入Azure存儲以及哪種存儲類型(Blob/Table/File)最好?

感謝

回答

1

你或許應該考慮對log4net的天藍色的appender:http://stemarie.github.io/log4net.Azure/。它適用於blob存儲和表格存儲。我會選擇保存到表格存儲,因爲您將擁有一些基本的搜索功能,而不是在BLOB存儲上提供。

ELMAH和NLog都具有用於記錄到Azure存儲的類似功能。

0

對於完全自動化的解決方案,您可以使用Audit.NET及其Audit.WebAPIAudit.log4net擴展名。

只需添加到您的控制器/方法的屬性:

[AuditApi] 
public class UsersController : ApiController 
{ ... } 

和靜態初始化代碼:

Audit.Core.Configuration.Setup() 
    .UseLog4net(); 

就是這樣,你有一個審計系統在您的網頁API調用工作,使用您的默認log4net配置進行日誌記錄。