Постарайтесь объяснить более четко, почему это ответ на вопрос.
аюсь найти кого-то умнее меня, чтобы проверить синтаксис, который я написал. Идея состоит в том, чтобы настроить имя файла моего RollingFileAppender на имя сборки, чтобы сделать его более пригодным для повторного использования в моих проектах.
я виделэта предыдущая статья но он не смог точно ответить на мой вопрос ...
У меня было время, когда я пытался понять внутренние компоненты Log4net, и вот что я придумал (находясь в файле Global.asax - метод Application_Start):
// Bind to the root hierarchy of log4net
log4net.Repository.Hierarchy.Hierarchy root =
log4net.LogManager.GetRepository()
as log4net.Repository.Hierarchy.Hierarchy;
if (root != null)
{
// Bind to the RollingFileAppender
log4net.Appender.RollingFileAppender rfa =
(log4net.Appender.RollingFileAppender)root.Root.GetAppender("RollingLogFileAppender");
if (rfa != null)
{
// Set the file name based on the assembly name
string filePath =
string.Format("~/App_Data/{0}.log", GetType().Assembly.GetName().Name);
// Assign the value to the appender
rfa.File = Server.MapPath(filePath);
// Apply changes to the appender
rfa.ActivateOptions();
}
}
Может кто-нибудь сказать мне, «это отвратительно», или «это должно работать нормально»? Кроме того, если я устанавливаю файл динамически, могу ли я ожидать, что поведение log4net будет вращать файлы в соответствии с настройками файла log4net.config?
Очень признателен!