В моем приложении новый файл журнала будет создаваться каждый раз, когда мое приложение запускается. Однако это не то, что я хочу, потому что иногда я получал 10 файлов журнала из-за того, что 10 раз открывал и закрывал свое приложение в разное время.
Я хочу, чтобы мой файл журнала назывался Log_LOGFILECREATEDDATE_LOGFILECREATEDTIME.txt. Все последующие события, выполняемые в этом приложении, должны регистрироваться только в этом файле журнала, независимо от того, сколько раз я запускаю приложение. Новый файл журнала следует создавать только в случае переименования или удаления старого файла журнала.
Код в App.config
<appender name = "FileAppender" type = "log4net.Appender.FileAppender">
<file type = "log4net.Util.PatternString" value = "D:\Log_%date{yyyyMMdd_HHmmss}.txt" />
<appendToFile value = "true" />
<lockingModel type = "log4net.Appender.FileAppender+MinimalLock" />
<layout type = "log4net.Layout.PatternLayout">
<conversionPattern value = "%date{dd-MMM-yyyy HH:mm:ss,fff} %level - %message%newline" />
</layout>
</appender>
Как я регистрирую данные в своем приложении
public class ABC{
private static readonly log4net.ILog logMe = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
....
function A(int a)
{
...
logMe.Info("function A done!")
}
}





Измените вашу конфигурацию <file type = "log4net.Util.PatternString" value = "D:\Log_%date{yyyyMMdd_HHmmss}.txt" /> на log4net.Util.PatternString" value = "D:\Log_myapplicationname.txt" />
Но на производстве вы получите большой файл, поэтому рассмотрите RollingFileAppender - https://logging.apache.org/log4net/release/config-examples.html
Я не верю, что есть способ попросить log4net просканировать каталог на предмет всех файлов, которые соответствуют вашему «шаблону», и выбрать самый последний, что, по сути, вы и просите. Как насчет компромисса использования статического имени файла и регистрации сообщения времени запуска каждый раз, когда ваше приложение запускается?
Я бы, вероятно, посмотрел на сохранение имени файла журнала в настройках приложения или аналогичных, и приложение запускает поиск этого файла журнала и продолжает использовать его, если он существует. В противном случае создается новый файл журнала и обновляется параметр.