2015-03-04 16 views
11

Tôi đã đọc blog của Scott Gu trên ASP.NET 5.0 features và một trong những tính năng mới được đề cập trong blog là sử dụng tệp json như cấu hình và loại bỏ Tệp Web.config.cách thêm cấu hình cho log4net (hoặc bất kỳ thư viện nào khác của bên thứ 3) trong ASP.NET 5.0

Tôi có một vài câu hỏi về tính năng đó.

Giả sử tôi đã theo cấu hình log4net mà trước đây đã được thêm vào Web.Config trong phiên bản trước của ASP.NET

tập tin

Config

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 

<log4net debug="true"> 
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="C:\\TestProj\\TestLog.txt" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="10" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> 
    </layout> 
</appender> 

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="RollingLogFileAppender" /> 
</root> 
</log4net> 

Làm thế nào người ta sẽ thêm các phần trong config.json?

Làm cách nào để chuyển đổi trên xml và thêm nó vào config.json?

Thư viện của bên thứ ba (Trong ví dụ của tôi) hoặc người dùng thư viện phải thêm một số loại api chuyển đổi tùy chỉnh để hỗ trợ cấu hình dựa trên json, để tận dụng tính năng cấu hình mới được cung cấp trong ASP.NET 5.0?

Trả lời

0

Phiên bản hiện tại của log4net không hỗ trợ các dự án Json, vì vậy cấu hình cần phải nằm trong tệp xml riêng biệt.

+0

Bạn có thể cung cấp một ví dụ về vị trí đặt tệp, tên cần đặt, nội dung cần chứa và cách thêm nó vào hệ thống cấu hình (trong tệp Startup.cs) không? –

10

Gần đây tôi đã gặp sự cố tương tự với log4net. Tôi quản lý để làm cho nó hoạt động như sau:

Tạo log4net.xml tập tin có chứa các phần cấu hình cho log4net

<?xml version="1.0" encoding="utf-8" ?> 
<log4net> 
... 
</log4net> 

Bạn có thể đặt các tập tin trong thư mục gốc của dự án.

Và trong phương pháp Startup.Startup() bạn có thể cấu hình các log4net cung cấp xml như một cấu hình:

public Startup(IApplicationEnvironment appEnv) 
{ 
    // ... 

    XmlConfigurator.Configure(new FileInfo(Path.Combine(appEnv.ApplicationBasePath, "log4net.xml"))); 
} 

Tôi hy vọng điều này sẽ giúp.

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