忘记第二个问题,为什么地球上你会做这样的事情 - 如果由于某种原因,两个FileAppender配置了相同的文件 - 这个设置是否工作?两个log4j文件夹可以写入同一个文件吗?
4
A
回答
0
它不直接回答你的问题,但LOG4 *净*的FileAppender具有您可以设置当文件实际上是在使用中只锁定LockingModel属性。所以如果你有两个FileAppender在MinimalLock设置的同一线程中工作,它可能会工作得很好。在不同的线程中,你偶尔会遇到死锁。
FileAppender通过LockingModel属性支持可插入文件锁定模型。由FileAppender.ExclusiveLock实现的默认行为是在文件关闭之前获取文件的独占写入锁定。替代模型FileAppender.MinimalLock仅在appender正在写入日志事件时保存写入锁定。
粗略的网页搜索没有找到关于在log4j中实现MinimalLock的任何有用的结果。
3
Log4j的FileAppender不允许两个JVM写入同一个文件。如果你尝试,你会得到一个损坏的日志文件。然而,logback的后继log4j的后继,在prudent mode中允许两个appender甚至在不同的JVM中写入同一个文件。
0
如何让多个进程记录到同一个文件?
您可能会将每个进程日志记录到SocketAppender。接收的SocketServer(或SimpleSocketServer)可接收全部事件,并将它们发送到一个日志文件。
至于这究竟意味着我会调查自己。
我还发现了以下解决方法上的另一个SO question:
相关问题
- 1. 我可以在同一个文件夹中有两个.pro文件吗?
- 2. Lua:我可以使用IO同时写入两个文件吗?
- 3. Log4net可以有多个appender写入同一个文件吗?
- 4. 可以在IntelliJ的同一个文件夹中有多个src文件夹吗?
- 5. procmail规则写入两个文件夹
- 6. 一个文件夹,两个KML文件
- 7. 可以ItemProcessor写入两个不同的文件?
- 8. 多个线程可以同时将数据写入文件吗?
- 9. 同时将一个值写入两个文本文件
- 10. Log4j 1和2 - 从两个Log4J版本的自定义appender同时写入同一个文件
- 11. log4net,可以将2个应用程序写入同一个日志文件吗?
- 12. MonoTouch + MonoDroid:项目文件可以存在于同一个文件夹中吗?
- 13. log4j:一个班级;同一水平;两个输出文件
- 14. 两个log4j库在不同文件夹级别的tomcat内
- 15. 可以将两个相同的.scss文件导入两个不同的.scss文件吗?
- 16. 多个RollingFileAppenders写入同一个文件
- 17. 可以从C语言函数写入一个字文件吗?
- 18. 程序可以在另一个文件中写入东西吗?
- 19. 编写服务以保持两个文件夹同步?
- 20. 我可以写入一个新文件,然后在同一个C程序中读取该文件吗?
- 21. 可以写入只读文件夹
- 22. 从同一个文件夹读取/写入两个ASP.net应用程序
- 23. 多个打开同一个文件并同时写入同一个文件PHP?
- 24. URL将多个文件夹重写到一个文件夹
- 25. Log4j每个实例写入一个文件
- 26. log4j无法写入文件
- 27. log4j不写入文件
- 28. Log4j没有写入文件
- 29. 我可以从同一个jar文件执行两个不同的类吗?
- 30. 我可以在一个AVRO文件中写两个模式吗?我可以在一个AVRO文件中写两个模式
你试过了吗? – 2009-08-10 07:57:34
不,我只是好奇。 – ripper234 2009-08-10 08:09:05