Как я могу зарегистрироваться к Специальным Папкам с log4net?

Как я могу зарегистрироваться к специальным папкам (например. %APPDATA%) использование app.config файла?

Я могу сделать это программно, но я должен смочь использовать app.config файл для конфигурации. Я видел сообщение использования %envFolderPath.It не доступен в последней выпущенной версии, но только в их последнем коде.

Ниже код что установка I журнал к специальным папкам программно.

public void ExampleLog
{
    XmlConfigurator.Configure();

    var fileName = GetFileName();
    var appender = new log4net.Appender.RollingFileAppender
    {
        Layout = new log4net.Layout.PatternLayout("%d - %m%n"),
        File = fileName,
        MaxSizeRollBackups = 10,
        MaximumFileSize = "100MB",
        AppendToFile = true,
        Threshold = Level.Debug
    };

    appender.ActivateOptions();
    BasicConfigurator.Configure(appender);
}

private static string GetFileName()
{
    const string subPath = "MySubFolder";
    var path = String.Format(@"{0}\{1}", Environment.GetFolderPath  (Environment.SpecialFolder.CommonApplicationData), subPath);
    const string logName = "Log.txt";
    return Path.Combine(path, logName);
}
12
задан Ryan Gates 4 June 2014 в 16:40
поделиться

1 ответ

Убедитесь, что синтаксис для этого доступен в текущем релизе.

<file type="log4net.Util.PatternString" value="%env{APPDATA}\\MyApp\\Log.txt" />

Если вам нужно что-то большее, вы можете рассмотреть возможность подклассификации класса PatternString, как описано здесь: Log4Net не может найти свойство %username, когда я назову файл в моем приложении

12
ответ дан 2 December 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: