2009-12-17 38 views

Trả lời

14

tôi đã kết thúc nhìn vào nguồn log4net và xác định tôi có thể thực hiện appender của riêng tôi mà mở rộng FileAppender và ghi đè thuộc tính File.

Tôi chỉ sử dụng CWDFileAppender trong cấu hình của mình.

+0

Xin chào, hãy đặt các cập nhật đó vào câu trả lời của bạn. giữ cho luồng sạch, trừ khi bạn có câu trả lời đúng cho câu hỏi của riêng bạn ... –

+1

Đây là câu trả lời "đúng" cho câu hỏi của riêng tôi. –

+0

Điều này làm việc tốt cho tôi, mặc dù tôi đã bị thu hút bởi RollingFileAppender. Tôi cũng đặt nó trong một thư viện chung tôi sử dụng để tôi có thể sử dụng nó trên tất cả các dự án của mình. Hãy nhớ để chỉ định lắp ráp cũng như trong cấu hình của bạn nếu bạn làm điều này. Stuntbeaver

2

Không thể từ tập tin cấu hình, theo here . Có thể nếu bạn đang cấu hình nó bằng tay từ bên trong chương trình của bạn mặc dù:

public static log4net.Appender.IAppender CreateFileAppender(string name, 
string fileName) 
{ 
    log4net.Appender.FileAppender appender = new 
log4net.Appender.FileAppender(); 
    appender.Name = name; 
    appender.File = fileName; 
    appender.AppendToFile = true; 

    log4net.Layout.PatternLayout layout = new 
log4net.Layout.PatternLayout(); 
    layout.ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n"; 
    layout.ActivateOptions(); 

    appender.Layout = layout; 
    appender.ActivateOptions(); 

    return appender; 
} 

Sau đó, bạn có thể kết hợp nó với các logger như sau:

AddAppender("Log4net.MainForm", CreateFileAppender("FileAppender", 
Path.Combine(Directory.GetCurrentDirectory(), "foo.log"))); 
+0

Điều đó xác nhận những gì tôi đang nghĩ. Tôi đăng câu trả lời của riêng mình với một cách khá dễ dàng để làm cho nó có thể cấu hình được. –

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