I've tried several of the suggestions I've found here on StackOverflow and finally ended up with the following which seemed to get the job done:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%appSetting{LogsFolder}\%date{yyyy}\%date{MM}\MyLogs.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="ddMMyyyy" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger (%property{culture}) %identity - %message%newline" />
</layout>
</appender>
However, after several months of logging I see that the configuration is incorrect, but I cannot see what is causing the problem.
I get a folder structure having year first and month second, but I still haven't got a folder for 12 yet (december). The newest folder I have is 11 and this one contains all logs for November from the 6th and to the 30th in addition to the logs for December.
The filenames are MyLogs12112018.log etc, where the pattern is day/month/year.
I would really like to add a dot (.) between MyLogs and the date but that is secondary.
However, why are the log files placed in incorrect folders?
How about the following:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%appSetting{LogsFolder}" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy\\MM\\'MyLogs.'ddMMyyyy'.log'" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger (%property{culture}) %identity - %message%newline" />
</layout>
</appender>