Get log4net log file in C#

.net, c#, log4net

Solution

Solution is quite easy in your situation; just use this code:

var rootAppender = ((Hierarchy)LogManager.GetRepository())
                                         .Root.Appenders.OfType<FileAppender>()
                                         .FirstOrDefault();

string filename = rootAppender != null ? rootAppender.File : string.Empty;

Problem

This is my configuration for log4net: ``` <log4net> <appender name="MyLogger" type="log4net.Appender.RollingFileAppender"> <file value="MyLog.log" /> <appendToFile value="true" /> <rollingStyle value="Size"/> <maxSizeRollBackups value="20"/> <maximumFileSize value="1000KB"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss},%p,%m%n" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="MyLogger" /> </root> </log4net> ``` In C# I'm trying to get the name of the log file (which is MyLog.log). I googled and tried many things but failed to do so. Any help? Thanks!

Original source