2011-07-25 42 views
5
mẫu

tôi chuyển đổi log4net trông như thế nàymẫu log4net gì cung cấp cho tên tập tin mà không cần đường dẫn đầy đủ

<conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" /> 

Tập tin% spits ra đường dẫn đầy đủ bao gồm gần như một dòng đầy đủ trong cửa sổ giao diện điều khiển của tôi.

Tôi chỉ có thể lấy tên tệp (đường dẫn trừ).

Ngay bây giờ nó trông như thế này

INFO [10] <c:\My Root Dir\Subdir\...........................\filename.cs> - My message 

Tôi muốn nó trông giống như

INFO [10] <filename.cs> - My message 

cảm ơn bạn

Trả lời

2

Bạn có thể viết Chuyển đổi bố trí mô hình của riêng mình, có lẽ như thế này:

public class FileNamePatternConverter : PatternLayoutConverter 
{  
    override protected void Convert(TextWriter writer, LoggingEvent loggingEvent) 
    { 
     writer.Write(Path.GetFileName(loggingEvent.LocationInformation.FileName)); 
    } 
} 

Sau đó, bạn cấu hình nó như sau:

<conversionPattern value="%5level [%thread] (%filename:%line) - %message%newline"" /> 
    <converter> 
    <name value="filename" /> 
    <type value="YourNamespace.FileNamePatternConverter" /> 
</converter> 
+0

mát Stefan. cảm ơn – Gullu

1

Đừng quên các báo cáo sử dụng:

using log4net.Layout.Pattern; 
using log4net.Core; 
Các vấn đề liên quan