Привет, ребята, сначала извините меня за мой плохой английский, я стараюсь изо всех сил быть максимально точным.Используя log4net с настройкой кода, он дважды записывается в журнал
Я использую log4net 3.5 в .NET Framework 4.5.
Проблема Я на самом деле сталкиваюсь очень часто. log4net записывает все дважды. Он не настроен с xml-файлом, для этого я использую статический класс.
/// <summary>
/// Diese Klasse konfiguriert die Logs bei ausführungszeit
/// </summary>
public static class LoggerSetup
{
static LoggerSetup()
{
_fileDirectory = @"Log\";
_archiveInterval = 7;
Setup();
}
/// <summary>
/// Der Ort wo das Logfile gespeichert wird
/// </summary>
public static string FileDirectory
{
get
{
return _fileDirectory;
}
set
{
_fileDirectory = value;
Setup();
}
}
private static string _fileDirectory;
/// <summary>
/// Wieviele Tage die Logfiles im Speicher bleiben
/// </summary>
public static int ArchiveInterval
{
get
{
return _archiveInterval;
}
set
{
if (value <= 0)
value = 1;
_archiveInterval = value;
Setup();
}
}
private static int _archiveInterval;
private static void Setup()
{
// Here the hierarchy object is taken
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
// Pattern Layout defined
PatternLayout patternLayout = new PatternLayout();
patternLayout.ConversionPattern = "%date [%-5level] %message%newline";
patternLayout.ActivateOptions();
// configurating the RollingFileAppender object
RollingFileAppender roller = new RollingFileAppender();
roller.AppendToFile = true;
roller.File = FileDirectory + "Log.log";
roller.StaticLogFileName = true;
roller.PreserveLogFileNameExtension = true;
roller.LockingModel = new FileAppender.MinimalLock();
roller.Layout = patternLayout;
roller.MaxSizeRollBackups = ArchiveInterval;
roller.RollingStyle = RollingFileAppender.RollingMode.Date;
roller.DatePattern = "_yyyy-MM-dd";
roller.ActivateOptions();
// Here it is added only once to the Root
hierarchy.Root.AddAppender(roller);
hierarchy.Root.Level = Level.Info;
hierarchy.Configured = true;
}
}
Я уже смотрел некоторые другие страницы, такие как
В те вопросы, которые я нашел, нить была alaways двойной добавления приложение, в основном они были добавлены в корневой каталог и в объект журнала.
Как вы можете видеть в приведенном выше коде, я делаю это только один раз ... Любые идеи? Метод Setup() вызывается каждый раз, когда свойство обновляется, нигде больше.
Я благодарен за любой ответ, который я получил.