2015-03-01 20 views
19

Tôi đang cố gắng định cấu hình trang web asp.net azure của mình để gửi các dấu vết log4net tới Azure Application Insights. Tôi có thể nhìn thấy trong giao diện điều khiển trang của tôi azure vv, do đó tôi biết rằng đang làm việc tốt. Tôi cũng có thể thấy các dấu vết log4net, khi được cấu hình với một trình xử lý tệp, nhưng khi cấu hình log4net để sử dụng trình xử lý thông tin chi tiết ứng dụng, tôi không thấy bất kỳ mục nhập log4net nào xuất hiện trong trang tổng quan ứng dụng, không có lỗi hoặc cảnh báo lúc xây dựng hoặc chạy - không có kết quả trong bảng điều khiển. Tôi đã xem xét lưu lượng truy cập mạng trong Fiddler và tôi có thể xem dữ liệu số lần truy cập trang, v.v ... được gửi tới thông tin chi tiết về ứng dụng, nhưng không phải lưu lượng truy cập log4net do đó tôi nghi ngờ đây là sự cố cấu hình.Log4Net với Thông tin chi tiết về ứng dụng

Riêng tôi đã thử TelemetryClient() trong dự án chính của mình và tôi thấy tracetraffic thành công trong bảng điều khiển. Tuy nhiên, điều này không phù hợp với trường hợp sử dụng của tôi vì TelemetryClient dường như không hỗ trợ dll phi asp.net (ví dụ: logic kinh doanh và dữ liệu của tôi nằm trong dll riêng).

Bất kỳ ai cung cấp bất kỳ thông tin chi tiết hoặc lời khuyên nào?

Tôi đã cài đặt các gói NuGet cho Microsoft.ApplicationInsights.Log4NetAppender.dll và tôi đang sử dụng Microsoft.ApplicationInsights.0.13.2-build00132

Tôi có sau trong web.config của tôi theo http://geekswithblogs.net/jakob/archive/2014/11/09/using-log4net-for-application-insights.aspx

<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 
    <log4net> 
    <root> 
     <level value="ALL"/> 
     <appender-ref ref="aiAppender"/> 
    </root> 
    <appender name="aiAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender"> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%message%newline"/> 
     </layout> 
    </appender> 
    </log4net> 
<configuration> 
+0

Xin chào, tôi có cùng một vấn đề ... Bạn đã tìm thấy một giải pháp? Cảm ơn ... – bob

+0

@bob no, not yet yet.Tôi đã liên hệ với nhóm MS chịu trách nhiệm nhưng chưa có phản hồi nào. – BMac

+0

Tôi gặp vấn đề tương tự chính xác này. Tôi có thể nhìn thấy các ngoại lệ chưa được khai thác đã đăng nhập vào Thông tin chi tiết về ứng dụng nhưng không truy tìm log4net mặc dù nó xuất hiện trong ứng dụng tệp tốt. Bạn đã bao giờ tìm thấy một lý do cho điều này? – Phil

Trả lời

1

Cấu hình log4net của bạn là chính xác; Tôi đã sử dụng nó trong một trang web thử nghiệm và nó đã làm việc. Ngoài ra, vì bạn đang xem dữ liệu AI khác trong Fiddler, AI của bạn cũng được định cấu hình đúng cách. Một điều cần tìm trong trường hợp này là thuộc tính log4net.Config.XmlConfigurator. Đó là một thuộc tính mức assembly và nó có thể cần thiết để cấu hình log4net được đọc đúng.

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 

Bạn có thể đảm bảo bạn đã chỉ định trong dự án và thử lại không?

+0

cảm ơn @tokaplan Tôi sẽ cố gắng tối nay và trả lời theo cách này, điều này chắc chắn có vẻ hợp lý. – BMac

+0

tiếc là điều này dường như không tạo ra bất kỳ sự khác biệt nào, vẫn không có lưu lượng sự kiện hiển thị trên đường đi khi xem qua fiddler và do đó không có gì trong bảng điều khiển. Tôi nghĩ tôi sẽ bắt đầu với những nguyên tắc đầu tiên. – BMac

4

Thử cài đặt phiên bản PreRelease của Log4Net Appender.

Tôi đã tạo một ví dụ ASP.NET MVC kinh điển theo các bước created by someone else và có cùng một vấn đề ở trên. Nhưng sau đó làm theo một số bước bằng văn bản in the Application Insights documentation và phát hiện ra rằng những người đã chỉ định cài đặt gói PreRelease cho trình bổ sung log4net. Đã làm điều đó nó workd :)

+0

Thakns @Phil Tôi chắc chắn sẽ cung cấp cho thử này, và cho bạn biết. – BMac

+1

@Phil Tôi đang cố gắng làm tương tự và có ngoại lệ ghi nhật ký Thông tin chi tiết APp, số yêu cầu, v.v. nhưng tôi không thể thấy thông báo Log.Info() của mình ở bất kỳ đâu. Bất kỳ đề xuất? – awj

+0

Xin lỗi @awj nhưng tôi không nhìn vào tích hợp Thông tin chi tiết về ứng dụng của tôi nhiều vào lúc này và khối lượng công việc của tôi có nghĩa là tôi cũng không thể làm trong một thời gian. – Phil

0

Trong trường hợp của tôi (tôi đã thêm ứng dụng Insights để ứng dụng web hiện có) bên cạnh Microsoft.ApplicationInsights.Log4NetAppender tôi đã phải thêm Microsoft.ApplicationInsights.Web gói bằng NuGet. Sau đó trong tạo ra ApplicationInsights.config bạn cần phải chỉ định InstrumentationKey của bạn.

Ví dụ: của ApplicationInsights.config

<?xml version="1.0" encoding="utf-8"?> 
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings"> 
    <InstrumentationKey>YOUR KEY HERE</InstrumentationKey> 
    <TelemetryModules> 
    ... 
1

Tôi cũng gặp một số vấn đề khi gửi nhật ký Log4Net tới AI trong trang web Sitecore. Sitecore đã thực hiện riêng của họ Log4Net vì vậy nó đã không làm việc với gói AI Nuget. Tôi đã tạo Apprender của riêng mình, trong đó tôi gửi nhật ký cho AI.

public class CustomLogFileAppender : SitecoreLogFileAppender 
    { 
     protected override void Append(LoggingEvent loggingEvent) 
     { 
      if (Sitecore.Context.Site != null) 
      { 

       if(loggingEvent.Level == Level.FATAL) 
       { 
        AppsInsightsLogHelper.Critical(loggingEvent.RenderedMessage); 
       } 

       if (loggingEvent.Level == Level.ERROR) 
       { 
        AppsInsightsLogHelper.Error(loggingEvent.RenderedMessage); 
       } 

       if (loggingEvent.Level == Level.WARN) 
       { 
        AppsInsightsLogHelper.Warning(loggingEvent.RenderedMessage); 
       } 

       if(loggingEvent.Level == Level.INFO) 
       { 
        AppsInsightsLogHelper.Info(loggingEvent.RenderedMessage); 
       } 


      } 

       base.Append(loggingEvent); 
     } 
    } 

Trong sitecore.config:

<log4net> 
    <appender name="LogFileAppender" type="namespace.CustomLogFileAppender, dll name"> 
     ... 
    </appender> 
</log4net> 
Các vấn đề liên quan