Chúng tôi đang sử dụng log4net và muốn chỉ định cấu hình của nó trong một tệp cấu hình bên ngoài (như chúng tôi đã làm với các phần khác). Để làm điều này, chúng tôi đã thay đổi phần log4net trong App.config thành:
...
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
...
<log4net configSource="Log.config" />
...
Và trong tệp Log.Config (cùng thư mục với App.config), chúng ta có:
<log4net>
<appender name="General" type="log4net.Appender.FileAppender">
<file value="myapp.log" />
<layout type="log4net.Layout.SimpleLayout" />
</appender>
<root>
<appender-ref ref="General" />
</root>
</log4net>
Tuy nhiên, khi chúng tôi chạy ứng dụng, không có tệp nhật ký nào được tạo (và không có quá trình ghi nhật ký nào được thực hiện). Không có thông báo lỗi xuất ra bảng điều khiển.
Nếu chúng tôi di chuyển nội dung của tệp Log.config trở lại App.config (thay thế dòng mã đầu tiên ở trên), nó sẽ hoạt động như mong đợi. Bất kỳ ý tưởng tại sao nó không hoạt động trong một tệp bên ngoài?