Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Logger.cs @ 4915

Last change on this file since 4915 was 4915, checked in by cneumuel, 14 years ago

#1260 added missing file

File size: 1.6 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using HeuristicLab.Core;
6
7namespace HeuristicLab.Hive.Slave.Core {
8  internal static class Logger {
9    private const int MaxMessageCount = 1000;
10
11    private static object locker = new object();
12    private static ILog log = new Log();
13
14    public static ILog Log {
15      get { return log; }
16    }
17
18    public static void Debug(object message) {
19      lock (locker) {
20        LimitLog();
21        Log.LogMessage(message.ToString());
22        HeuristicLab.Hive.Tracing.Logger.Debug(message);
23      }
24    }
25
26    public static void Info(object message) {
27      lock (locker) {
28        LimitLog();
29        Log.LogMessage(message.ToString());
30        HeuristicLab.Hive.Tracing.Logger.Info(message);
31      }
32    }
33
34    public static void Warn(object message) {
35      lock (locker) {
36        LimitLog();
37        Log.LogMessage(message.ToString());
38        HeuristicLab.Hive.Tracing.Logger.Warn(message);
39      }
40    }
41
42    public static void Error(object message) {
43      lock (locker) {
44        LimitLog();
45        Log.LogMessage(message.ToString());
46        HeuristicLab.Hive.Tracing.Logger.Error(message);
47      }
48    }
49
50    public static void Error(object message, Exception e) {
51      lock (locker) {
52        LimitLog();
53        Log.LogException(e);
54        HeuristicLab.Hive.Tracing.Logger.Error(message);
55      }
56    }
57
58    private static void LimitLog() {
59      if (Log.Messages.Count() > MaxMessageCount) {
60        Log.Clear();
61      }
62    }
63  }
64}
Note: See TracBrowser for help on using the repository browser.