HearthBuddy log module

 

 

// Triton.Common.LogUtilities.CustomLogger
// Token: 0x04000BD8 RID: 3032
private Level level_0 = Level.All;
// Token: 0x04000BD9 RID: 3033
private Level level_1 = Level.Emergency;
// Token: 0x06001779 RID: 6009 RVA: 0x000D3D08 File Offset: 0x000D1F08
public CustomLogger(string path, string prefix, Level minLevel, Level maxLevel)
{
    this.string_0 = prefix;
    this.level_0 = (minLevel ?? Level.All);
    this.level_1 = (maxLevel ?? Level.Emergency);
    Directory.CreateDirectory(path);
    PatternLayout patternLayout = new PatternLayout("%-4utcdate [%thread] %-5level %logger{1} %ndc - %message%newline");
    DateTime now = DateTime.Now;
    this.FileName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), string.Format("{6}\\{7} {5} {0:0000}-{1:00}-{2:00} {3:00}.{4:00}.txt", new object[]
    {
        now.Year,
        now.Month,
        now.Day,
        now.Hour,
        now.Minute,
        Process.GetCurrentProcess().Id,
        path,
        this.string_0
    }));
    FileAppender fileAppender = new FileAppender
    {
        File = this.FileName,
        Layout = patternLayout,
        LockingModel = new FileAppender.MinimalLock()
    };
    fileAppender.AddFilter(new LevelRangeFilter
    {
        LevelMin = this.level_0,
        LevelMax = this.level_1,
        AcceptOnMatch = true
    });
    patternLayout.ActivateOptions();
    fileAppender.ActivateOptions();
    AsyncAppender asyncAppender = new AsyncAppender();
    asyncAppender.AddAppender(fileAppender);
    asyncAppender.ActivateOptions();
    Hierarchy hierarchy = (Hierarchy)LogManager.CreateRepository(this.string_0);
    hierarchy.Root.AddAppender(asyncAppender);
    hierarchy.Configured = true;
}

 

 

// Triton.Common.LogUtilities.CustomLogger
// Token: 0x0600177C RID: 6012 RVA: 0x000D3F1C File Offset: 0x000D211C
public void AddWpfListener(ScrollViewer scrollViewer, RichTextBox rtbLog)
{
    PatternLayout patternLayout = new PatternLayout("%message");
    this.wpfRtfAppender_0 = new WpfRtfAppender(scrollViewer, rtbLog)
    {
        Layout = patternLayout
    };
    LevelRangeFilter levelRangeFilter = new LevelRangeFilter();
    levelRangeFilter.LevelMin = this.level_0;
    levelRangeFilter.LevelMax = this.level_1;
    this.wpfRtfAppender_0.AddFilter(levelRangeFilter);
    patternLayout.ActivateOptions();
    this.wpfRtfAppender_0.ActivateOptions();
    AsyncAppender asyncAppender = new AsyncAppender();
    asyncAppender.AddAppender(this.wpfRtfAppender_0);
    asyncAppender.ActivateOptions();
    ((Hierarchy)LogManager.GetRepository(this.string_0)).Root.AddAppender(asyncAppender);
}

 

How to log output to MainWindow

// Hearthbuddy.Windows.MainWindow
// Token: 0x0400014B RID: 331
private bool bool_0 = true;
// Token: 0x04000150 RID: 336
private readonly Stopwatch stopwatch_0 = new Stopwatch();
// Token: 0x060001FE RID: 510 RVA: 0x00003C20 File Offset: 0x00001E20
public MainWindow()
{
    this.InitializeComponent();
    Logger.AddWpfListener(this.scrollViewer_0, this.richTextBox_0);
}

 

Guess you like

Origin www.cnblogs.com/chucklu/p/11372019.html