2011-07-21 34 views
9

tôi nhận được ngoại lệ sau khi tôi cố gắng gọiCommon.Logging cấu hình ngoại lệ

var log = LogManager.GetLogger(this.GetType()); 

Một cơ hội ngoại lệ đầu tiên của loại 'Common.Logging.ConfigurationException' xảy ra ở Common.Logging.dll

Ngoại lệ không thuộc loại 'Common.Logging.ConfigurationException' xảy ra trong Common.Logging.dll

Thông tin bổ sung: Không lấy được cấu hình cho Common.Logging từ phần cấu hình 'dấu phẩy n/đăng nhập '.

Đây là một ứng dụng với sự tham khảo NET 4 đến

  • log4net.dll
  • Common.Logging.dll
  • Common.Logging.log4net.dll

của tôi app.config có:

<?xml version="1.0"?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
    <configSections> 
     <sectionGroup name="common"> 
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> 
     </sectionGroup> 
    </configSections> 
    <common> 
     <logging> 
      <factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging"> 
       <arg key="level" value="ALL" /> 
       <arg key="showLogName" value="true" /> 
       <arg key="showDataTime" value="true" /> 
       <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" /> 
      </factoryAdapter> 
     </logging> 
    </common> 
</configuration>  

Tôi đang cố gắng gọi như vậy:

var log = LogManager.GetLogger(this.GetType()); 
log.Debug(m => m("testing")); 

Tôi đang thiếu gì?

Trả lời

28

Chạy ok nếu bạn xóa phần tử startup khỏi cấu hình của mình.

EDIT: Thay vì xóa, chỉ cần di chuyển phần tử khởi động sau khi cấu hình.

+0

Whoa! Thật vậy, loại bỏ nó và nó hoạt động. thêm điểm nếu bạn nói 'tại sao'. – Jahmic

+1

Tôi tin rằng đó là vì cách lược đồ cấu hình được xác thực hoặc tải. – Klinger

+0

đẹp nhất! Câu trả lời này vẫn hợp lệ cho VS2012/.Net 4.5, Common.Logging 2.1.1, Common.Logging.Log4Net 2.0.0 và log4net 1.2.10 –

Các vấn đề liên quan