Tôi có một bên thứ ba sử dụng một tập tin cấu hình mà trông như thế này:chuyển hướng log4net bản ghi từ bên thứ ba
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
<!--Others sections-->
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value=".\logs\logclient.txt" />
<appendToFile value="false" />
<rollingStyle value="Date" />
<maximumFileSize value="1000KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
</configuration>
Các mã kiểm tra vào bên thứ ba trông giống như:
LogManager.GetRepository(Assembly.GetCallingAssembly()), configFile);
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
Tôi muốn các bên thứ ba dll sử dụng appender của riêng tôi được định nghĩa trong tập tin cấu hình của riêng tôi. Làm thế nào tôi có thể quản lý điều này?
NB:
- bên thứ ba cần phải sử dụng tập tin cấu hình riêng của mình vì người khác phần là bắt buộc và tôi không thể thêm chúng vào tập tin của tôi
- tôi có thể sửa đổi tập tin cấu hình của bên thứ ba, tôi không thể sửa đổi của tôi
DLL sử dụng app.config của bất cứ EXE lưu trữ chúng. Vì vậy, nếu bạn tải DLL, nó đang sử dụng app.config của bạn. Vì vậy, tôi bối rối khi bạn nói "bên thứ ba cần sử dụng tệp cấu hình của riêng nó". .NET app.configs không hoạt động theo cách đó. –
Trên thực tế tôi có hai tập tin cấu hình: một app.config (sử dụng bởi mã của tôi) và một thirdParty.dll.config (được sử dụng bởi bên thứ ba). Tôi không biết nếu có liên quan nhưng các thirdParty.dll không phải là trong cùng một thư mục như ứng dụng của tôi và nó được nạp bằng tay và được sử dụng bởi sự phản ánh. – Toto
Thay vì cố gắng ép buộc nó sử dụng appender được định nghĩa trong cấu hình của riêng bạn, tại sao không chỉ sao chép và dán nó vào cấu hình của họ, và thì đấy ...? – johnjps111