It's not a good idea to use multiple RollingFileAppender instances from different processes writing to the same file since the RollingFileAppender isn't designed for that scenario.
You have a couple of choices here:
Multiple FileAppender with minimal locking
Use multiple FileAppender instances pointing at the same file and configured with minimal locking. This will allow concurrent write operations from multiple processes:
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="Log.txt" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
Multiple EventLogAppender
Use multiple EventLogAppender instances that write to a shared Windows event source:
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<applicationName value="MyApp" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
Of course you could also send the log to a database or to a remote component running in a different process or even a different machine but these choices require more infrastructure to be setup so it may be overkill for your scenario.
Related resources: