Skip to content

Instantly share code, notes, and snippets.

@blachniet
Last active November 26, 2019 11:39
Show Gist options
  • Save blachniet/2007351 to your computer and use it in GitHub Desktop.
Save blachniet/2007351 to your computer and use it in GitHub Desktop.
Simple log4net configuration
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %logger - %message %exception%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
</configuration>
private static readonly log4net.ILog _log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
namespace Log4NetTest
{
class Program
{
static void Main(string[] args)
{
log4net.Config.XmlConfigurator.Configure();
}
}
private static void ConfigureLogging()
{
var layout = new PatternLayout("%date %level %logger - %message %exception%newline");
layout.ActivateOptions();
var roller = new RollingFileAppender();
roller.Layout = layout;
roller.AppendToFile = true;
roller.RollingStyle = RollingFileAppender.RollingMode.Size;
roller.MaxSizeRollBackups = 4;
roller.MaximumFileSize = "100KB";
roller.StaticLogFileName = true;
roller.File = "MyLog.log";
roller.ActivateOptions();
var hierarchy = (Hierarchy)LogManager.GetRepository();
hierarchy.Root.AddAppender(roller);
hierarchy.Root.Level = Level.All;
hierarchy.Configured = true;
}
string xml = @"<log4net>
<!-- A1 is set to be a ConsoleAppender -->
<appender name='Console' type='log4net.Appender.ConsoleAppender'>
<!-- A1 uses PatternLayout -->
<layout type='log4net.Layout.PatternLayout'>
<conversionPattern value='%date %level %logger - %message %exception%newline' />
</layout>
</appender>
<appender name='RollingFile' type='log4net.Appender.RollingFileAppender'>
<file value='example.log' />
<appendToFile value='true' />
<maximumFileSize value='100KB' />
<maxSizeRollBackups value='2' />
<layout type='log4net.Layout.PatternLayout'>
<conversionPattern value='%level %thread %logger - %message%newline' />
</layout>
</appender>
<root>
<level value='DEBUG' />
<appender-ref ref='Console' />
<appender-ref ref='RollingFile' />
</root>
</log4net>";
using (MemoryStream stream = new MemoryStream(Encoding.ASCII.GetBytes(xml)))
{
XmlConfigurator.Configure(stream);
}
@imillar
Copy link

imillar commented Feb 20, 2016

Thx for posting this - have been battling with getting Log4Net to log anything for hours. This was very helpful!

@Tres-Poli
Copy link

Thx for this repo! I've tried to configure file path for hours...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment