Можно ли программно открыть файл журнала, если он постоянно записывается? - PullRequest
2 голосов
/ 23 февраля 2011

Или это приведет к ошибке?Я просто хотел узнать, возможно ли это, прежде чем приложить усилия для реализации этого поведения в моем приложении.Извините за наивность ...

Примечание: я использую log4j для ведения журнала, и под «открытием файла журнала программно» я имею в виду компонент GUI, такой как кнопка.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2011

Я никогда не использовал log4j, но часто использовал log4net (его аналог .NET). Вы можете установить для LockModel вашего журнала значение Minimal-lock, чтобы ваш файл журнала блокировался только тогда, когда регистратор фактически пишет в него. В этот момент вы можете читать с него, не мешая вашему регистратору писать, если вы уверены, что ваше приложение само не получает эксклюзивную блокировку файла.

1 голос
/ 23 февраля 2011

Это зависит от платформы. В Linux / UNIX это может сработать, но я считаю, что Windows использует блокировку файлов по умолчанию, и это может вызвать проблемы.

Лучший подход - провести несколько простых экспериментов на вашей платформе реализации.

...