Skip to content

Instantly share code, notes, and snippets.

@KerryRitter
Created June 2, 2015 13:47
Show Gist options
  • Save KerryRitter/941988c958cf75a6216b to your computer and use it in GitHub Desktop.
Save KerryRitter/941988c958cf75a6216b to your computer and use it in GitHub Desktop.
Log4Net file logging setup through C#
private static void SetupLogging()
{
var logFolder = GetSetting("LogFolder", @"c:\logs");
var logFile = GetSetting("LogFile", @"c:\logs\MyLog.txt");
if (!Directory.Exists(logFolder))
{
Directory.CreateDirectory(logFolder);
}
var hierarchy = (Hierarchy) LogManager.GetRepository();
hierarchy.Root.RemoveAllAppenders(); /*Remove any other appenders*/
var fileAppender = new RollingFileAppender
{
AppendToFile = true,
RollingStyle = RollingFileAppender.RollingMode.Size,
LockingModel = new FileAppender.MinimalLock(),
File = logFile,
DatePattern = "yyyyMMdd",
MaxSizeRollBackups = 10,
MaximumFileSize = "5MB",
Threshold = Level.Debug
};
var pl = new PatternLayout
{
ConversionPattern = "%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"
};
pl.ActivateOptions();
fileAppender.Layout = pl;
fileAppender.ActivateOptions();
BasicConfigurator.Configure(fileAppender);
//Trace.Listeners.Add(new Log4NetTraceListener());
//Trace.Listeners.Add(new ConsoleTraceListener());
Trace.AutoFlush = true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment