Как я могу зарегистрироваться к специальным папкам (например. %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);
}
Убедитесь, что синтаксис для этого доступен в текущем релизе.
<file type="log4net.Util.PatternString" value="%env{APPDATA}\\MyApp\\Log.txt" />
Если вам нужно что-то большее, вы можете рассмотреть возможность подклассификации класса PatternString, как описано здесь: Log4Net не может найти свойство %username, когда я назову файл в моем приложении