Вопрос по asp.net, log4net – Пользовательское имя файла в журнале Log4Net?

18

У нас есть приложение ASP .Net, в котором мы используем Log4Net для регистрации деталей внутри приложения - ничего нового там нет - и имена файлов скользящего журнала имеют обычный формат:

<code>rolling-log.txt 
rolling-log.txt.1
rolling-log.txt.2 etc.
</code>

Каждый пользователь приложения добавляет в файл журнала файл журнала, который может быть трудным для чтения для конкретного случая пользователя, и поэтому мы хотели бы каким-либо образом изменить файл конфигурации для индивидуальной записи подробностей журнала пользователя, при каждой записи. в конкретный файл, например

<code><applicationId>rolling-log.txt
<applicationId>rolling-log.txt.1
<applicationId>rolling-log.txt.2
etc.
</code>

где уникальный идентификатор приложения каждого пользователя, состоящий из пятизначного числа, например,

<code>12345rolling-log.txt
</code>

Есть идеи о том, как лучше всего это реализовать, если предположить, что это возможно?

ура

Brett

Ваш Ответ

6   ответов
1

как и приложение RollingPile Plus с динамическим именем файла. http://mysite.verizon.net/vze14bhji

Сайта больше нет.
1

что файл журнала для каждого пользователя возможен, но вы можете написать собственный слой между log4net и вашим приложением, который добавляет идентификатор пользователя перед записью в журнал.

8

что файл конфигурации Log4Net поддерживает переменные среды (например, USERNAME), а также настраиваемые шаблоны, которые должны дать вам то, что вы хотите.

Посмотрите на "PatternString для конфигурации на основе шаблона". впримечания к выпуску Log4Net V1.2.10.

+1 Это способ сделать это.
16

в вашем коде:

log4net.GlobalContext.Properties["id"] = "12345";

затем

log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("configPath"));

в конфигурационном файле log4net:

<file type="log4net.Util.PatternString"
            value="%property{id}rolling-log.txt" />
35
<file type="log4net.Util.PatternString">
  <conversionPattern value="C:\Logs\log-%date{ yyyy.MM.dd.HH.mm.ss}-[%processid].log" />
</file>

отсюда

спасибо большое за вас
Нотабене Заменить<param name="File" value="..." /> элемент с вышесказанным.
очень полезно, проголосовало.
наконец хороший ответ
1

se.

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