从Log4Net中读取多线程生成的日志

发布于 2024-08-23 12:14:05 字数 145 浏览 4 评论 0原文

我有一个具有多个并行运行线程的脚本。这些线程写入 Log4Net RollingFileAppender 文件。阅读此日志非常令人困惑,因为所有线程日志都混合在一起。 我想知道写入这些日志的好方法是什么,以及读取这些文件的最佳方法是什么,以便读取特定线程的调试信息变得更容易。

I have a script that has multiple threads running in parallel. These threads write to a Log4Net RollingFileAppender file. Reading this log is a quite confusing since all the thread logs are mixed up.
Im wondering what is a good way to write these logs, and what is the best way to read these files so reading the debugging information of a particular thread becomes easier.

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

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

发布评论

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

评论(2

不再让梦枯萎 2024-08-30 12:14:05

更新您的配置文件以在日志输出中包含线程名称。如果您在代码中设置线程名称,则相同的名称将记录到您的文件中。这是通过 log4net 配置文件包含线程名称的简单示例。标签:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="service.log" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="2MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
        **<conversionPattern value="%-5level : [%t] - %message%newline" />**
    </layout>
</appender>

更新
我编写了一个简单的 POC 应用程序来演示这一点。 http://codereport.net/logging-the-thread-name-with -log4net/

Update your config file to include the thread name in the log output. If you set the Threads name in code, that same name will be logged to your file. This is a simple example of including the thread name via the log4net config file <conversionPattern> tag:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="service.log" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="2MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
        **<conversionPattern value="%-5level : [%t] - %message%newline" />**
    </layout>
</appender>

UPDATE
I wrote a simple POC app to demonstrate this. http://codereport.net/logging-the-thread-name-with-log4net/

﹏半生如梦愿梦如真 2024-08-30 12:14:05

考虑记录到更容易处理的东西,比如数据库。使用 AdoNetAppender 记录到数据库表,您可以轻松地对线程进行排序和过滤。

在 log4net 站点上有配置示例说明如何获取此信息去。

Consider logging to something easier to handle, like a database. Using the AdoNetAppender logging to a database table you can easily sort and filter on the thread.

Over at the log4net site there are config samples on how to get this going.

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