【问题标题】:How do log files work properly?日志文件如何正常工作?
【发布时间】:2018-04-13 04:58:14
【问题描述】:

尝试研究但遇到了死胡同。

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

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

【问题讨论】:

  • 问题“太宽泛了”,因为 1)您要问 4 个问题,而不是一个,2)答案取决于您使用的日志记录实现。一些支持排队和异步写入,如果你配置它们
  • 谢谢。

标签: java logging log4j


【解决方案1】:

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

没有。在内存中发生锁定,但文件本身没有锁定,不能跨进程共享。

是否有追加到日志文件的队列?

仅当您使用异步附加程序时。

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

一个普通的 Java 锁。

是否可以在不中断日志记录活动的情况下由另一个进程打开或写入文件?

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

【讨论】:

    猜你喜欢
    • 2018-09-14
    • 2019-09-20
    • 2014-10-31
    • 2013-12-04
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    相关资源
    最近更新 更多