2011-07-25 64 views
5

我log4net的转换模式如下什么log4net的模式为文件名没有完整路径

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

的文件%吐出来的全路径覆盖在我的控制台窗口几乎一整行。

如何获取文件名(减号路径)。

现在它看起来像这样

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

我希望它看起来像

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

谢谢

回答

2

你可以写你自己的模式布局变换,也许是这样的:

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

然后您将其配置如下:

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

冷却斯特凡。谢谢 – Gullu

1

不要忘记这些using语句:

using log4net.Layout.Pattern; 
using log4net.Core; 
相关问题