-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLogger.cs
47 lines (41 loc) · 1.53 KB
/
Logger.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Todo: enable activating and deactivating appender at runtime
// Todo: Code cleaneup
using log4net;
using log4net.Repository.Hierarchy;
using log4net.Core;
using log4net.Appender;
using log4net.Layout;
public class Logger
{
public static void Setup()
{
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
PatternLayout patternLayout = new PatternLayout();
//patternLayout.ConversionPattern = "%date [Thread:%thread] %-5level %logger - %message%newline";
patternLayout.ConversionPattern = "%date [Thread:%thread] %-5level - %message%newline";
patternLayout.ActivateOptions();
// TODO: make file name is the date, a file for each date
// TODO: Or batter use one file and log-rotate
RollingFileAppender roller = new RollingFileAppender();
roller.AppendToFile = true;
roller.File = @"log.log";
roller.PreserveLogFileNameExtension = true;
roller.ImmediateFlush = true;
roller.Layout = patternLayout;
roller.MaxSizeRollBackups = 5;
roller.MaximumFileSize = "1GB";
roller.RollingStyle = RollingFileAppender.RollingMode.Size;
roller.StaticLogFileName = true;
roller.ActivateOptions();
hierarchy.Root.AddAppender(roller);
ConsoleAppender console = new ConsoleAppender ();
console.Layout = patternLayout;
console.ActivateOptions ();
hierarchy.Root.AddAppender (console);
// MemoryAppender memory = new MemoryAppender();
// memory.ActivateOptions();
// hierarchy.Root.AddAppender(memory);
hierarchy.Root.Level = Level.Debug; // TODO: Change back to Info
hierarchy.Configured = true;
}
}