Java 如果日志文件是';有人不断写信给谁?

Java 如果日志文件是';有人不断写信给谁?,java,user-interface,file-io,log4j,Java,User Interface,File Io,Log4j,或者这会产生一个错误?我只是想知道,在我努力在我的应用程序中实现这种行为之前,这是否可行。对不起,我太天真了 注意:我使用log4j进行日志记录,所谓“以编程方式打开日志文件”,是指通过GUI组件,如按钮 它依赖于平台。在Linux/UNIX上,它可能会工作,但我相信Windows默认使用文件锁定,这可能会导致问题 最好的方法是在您的实现平台上做一些简单的实验。我从未使用过log4j,但经常使用log4net(它的.NET对应物)。您可以将日志的lockingModel设置为Minimum lo

或者这会产生一个错误?我只是想知道,在我努力在我的应用程序中实现这种行为之前,这是否可行。对不起,我太天真了


注意:我使用log4j进行日志记录,所谓“以编程方式打开日志文件”,是指通过GUI组件,如按钮

它依赖于平台。在Linux/UNIX上,它可能会工作,但我相信Windows默认使用文件锁定,这可能会导致问题


最好的方法是在您的实现平台上做一些简单的实验。

我从未使用过log4j,但经常使用log4net(它的.NET对应物)。您可以将日志的lockingModel设置为Minimum lock,以便仅在记录器实际写入日志文件时锁定日志文件。在这一点上,如果您确保您的应用程序本身没有获得文件的独占锁,您可以在不阻止日志程序写入的情况下读取日志文件。

在Unx世界中,使用*tail-f logfile查看不断增长的日志文件是很常见的……如何确保应用程序本身没有获得独占锁?我是否应该使用使用锁和条件的wait-notify设计?我不熟悉在java中实现这一点的确切方法,但您很可能可以将流设置为允许共享。在.Net中,我们在打开流时使用FileShare.ReadWrite参数。你应该试着寻找类似的东西。