log4net 模式为没有完整路径的文件名提供了什么

发布于 2024-11-26 08:58:03 字数 437 浏览 0 评论 0原文

我的 log4net 转换模式如下所示

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

%file 吐出完整路径,覆盖我的控制台窗口中几乎一整行。

我怎样才能只获取文件名(减去路径)。

现在看起来像这样

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

我希望它看起来像

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

谢谢

My log4net conversion pattern looks like this

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

The %file spits out the full path covering almost one full line in my console window.

How can I get just the file name (minus path).

Right now it looks like this

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

I want it to look like

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

thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你丑哭了我 2024-12-03 08:58:03

您可以编写自己的模式布局转换器,也许像这样:

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>

You can write your own pattern layout converter, maybe like this:

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

Then you configure it as follows:

<conversionPattern value="%5level [%thread] (%filename:%line) - %message%newline"" />
   <converter>
   <name value="filename" />
   <type value="YourNamespace.FileNamePatternConverter" />
</converter>
默嘫て 2024-12-03 08:58:03

不要忘记这些 using 语句:

using log4net.Layout.Pattern;
using log4net.Core;

Don't forget these using statements:

using log4net.Layout.Pattern;
using log4net.Core;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文