我有一个脚本,并行运行多个线程。这些线程写入Log4Net RollingFileAppender文件。因为所有的线程日志都混在一起,所以读这个日志是相当混乱的。 我想知道什么是写这些日志的好方法,以及读取这些文件的最佳方法是什么,以便读取特定线程的调试信息变得更容易。从多线程生成Log4Net读取日志
8
A
回答
7
更新您的配置文件以在日志输出中包含线程名称。如果您在代码中设置线程名称,则会将相同的名称记录到您的文件中。这是通过log4net的配置文件包括线程名<conversionPattern>标签的一个简单的例子:
<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 我写了一个简单的POC应用证明这一点。 http://codereport.net/logging-the-thread-name-with-log4net/
0
考虑将日志记录更容易处理,比如数据库。使用AdoNetAppender记录到数据库表,您可以轻松地对线程进行排序和过滤。
在log4net网站上有config samples关于如何实现这一目标。
相关问题
- 1. 忽略子线程生成的日志
- 2. 从多个远程进程生成合并日志
- 3. 多线程安全日志
- 4. log4net的 - 任何日志文件产生
- 5. log4net - 缺少日志
- 6. Log4Net消息日志
- 7. 从Subversion生成更改日志日志并与Jira集成
- 8. 使用Log4net log4net.Layout.XmlLayout读取Log4View日志文件?
- 9. 企业库日志记录 - 多线程日志到多个日志文件
- 10. SELinux日志读取
- 11. log4net暂时禁用线程内的调试日志
- 12. nHibernate与Log4Net日志记录,线程会话问题
- 13. 正在生成多个日志文件
- 14. 从Log4Net日志文件读取错误消息的最佳方法
- 15. Log4Net或日志应用程序块
- 16. 从多个线程读取全局值
- 17. 从多个线程读取SQL数据
- 18. 如何从Trac生成更改日志
- 19. 生成应用程序运行日志?
- 20. gdb - 线程日志
- 21. Log4net EventLogAppender日志事件ID
- 22. Log4Net无法写入日志
- 23. Log4net复制日志条目
- 24. Log4Net日志记录异常
- 25. 在iOS应用程序中读取生产崩溃日志
- 26. MS SQL 2008 HowTo从日志中读取
- 27. Android从手机读取错误日志
- 28. 跨多线程的Java日志记录
- 29. 简单多线程安全日志类
- 30. 多线程读取文件
Thread.Name MSDN链接:http://msdn.microsoft.com/en-us/library/system.threading.thread.name.aspx – 2010-03-02 20:33:25
我已经添加了线程信息,然后我使用LogExpert(http: //www.log-expert.de/)来过滤日志以轻松读取每个线程的踪迹。 – 2010-03-06 13:31:19