我的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
谢谢
答案 0 :(得分: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>
答案 1 :(得分:1)
不要忘记这些使用陈述:
using log4net.Layout.Pattern;
using log4net.Core;