日志文件如何正常工作?

时间:2017-10-31 22:17:08

标签: java logging log4j

尝试研究但是走到了死胡同。

在Java(或任何其他语言)中,如何记录文件 - 更具体地说:

  • 当另一个事件发生并且需要记录时,文件怎么不被锁定?
  • 是否有要附加到日志文件的队列?
  • 如果文件未锁定,日志条目如何混淆?例如。一个错误流被记录而另一个错误流仍被写入?
  • 文件可以在不中断日志记录活动的情况下由其他进程打开或写入吗?

1 个答案:

答案 0 :(得分:1)

  

当另一个事件发生并且需要记录时,文件如何不被锁定?

没有。在内存中发生锁定,但文件本身未锁定且无法跨进程共享。

  

是否有一个队列可以附加到日志文件中?

仅当您使用异步appender时。

  

如果文件未锁定,日志条目如何混淆?例如。一个错误流被记录而另一个仍然被写入?

常规Java锁。

  

可以在不中断日志记录活动的情况下由其他进程打开或写入文件吗?

它可以打开,但如果你从另一个进程写入它,你可能会丢失数据。这不是如何使用日志文件。