If your config does not have a <root> node, the above solution will not work for you. Read more.
<log4net> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="${LOCALAPPDATA}\Anonymous.log" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="2000KB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <logger name="AnonymousLog"> <level value="All" /> <appender-ref ref="RollingFileAppender" /> </logger> </log4net>
This returns the log file:
string path = (LogManager.GetCurrentLoggers()[0].Logger.Repository.GetAppenders()[0] as FileAppender).File;
(Hopefully) crash-proof version:
string path = null; if (LogManager.GetCurrentLoggers().Length > 0 && LogManager.GetCurrentLoggers()[0].Logger.Repository.GetAppenders().Length > 0) { path = (LogManager.GetCurrentLoggers()[0].Logger.Repository.GetAppenders()[0] as FileAppender).File; }
Finally, if you are stuck in log4net, add this to the <appSettings> section:
<add key="log4net.Internal.Debug" value="true"/>
stevieg Feb 26 '14 at 2:56 2014-02-26 02:56
source share