Проблема с текстом сообщения log4net - PullRequest
0 голосов
/ 20 декабря 2010

Я пытаюсь заставить log4net работать с помощью File Appender.

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

Похоже, что текст сообщения каким-то образом поврежден перед записью в файл.

Я использую Visual Studio 2008 на Windows Server 2008. log4net инициализируется в global.asax

вот мой конфиг для log4net

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"></section>
. . .
<log4net debug="true">
    <appender name="INFOFileAppender" type="log4net.Appender.FileAppender">
        <lockingmodel type="log4net.Appender.FileAppender+MinimalLock"/>
      <threshold value="INFO" />  
      <file value="AOKlogs.txt" />
        <appendtofile value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>          
    </appender>
    <root>
        <level value="ALLL" />
        <appender-ref ref="INFOFileAppender" />
    </root>
  </log4net>

Я безуспешно пробовал и Rollingfile, и простой файловый аппендир.

UPDATE Я включил отладку и настроил log4net для записи журнала отладки в текстовый файл. и вот что он говорит:

Я включил отладочный журнал в текстовый файл, и вот что он говорит:

log4net: сборка log4net [log4net, версия = 1.2.10.0, культура = нейтральная, PublicKeyToken = 1b44e1d426115821]. Загружается из [C: \ Users \ ScarryComp \ AppData \ Local \ Temp \ Временные файлы ASP.NET \ website1 \ 7e2bf4c4 \ 4d1a1e05 \ assembly \ dl3 \ c6bded9b \ 0086655c_d353c601 \ log4net.DLL]. (.NET Runtime [2.0.50727.4952] в Microsoft Windows NT 6.1.7600.0) log4net: DefaultRepositorySelector: defaultRepositoryType [log4net.Repository.Hierarchy.Hierarchy] log4net: DefaultRepositorySelector: создание хранилища для сборки [App_Code.ch9yol_l, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = ноль] log4net: DefaultRepositorySelector: сборка [App_Code.ch9yol_l, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null] загружена из [C: \ Users \ ScarryComp \ AppData \ Local \ Temp \ временных файлов ASP.NET \ website1 \ 7e2bf4c4 \ 4d1a1e05 \ App_Code.ch9yol_l.dll] log4net: DefaultRepositorySelector: Assembly [App_Code.ch9yol_l, версия = 0.0.0.0, Culture = нейтральный, PublicKeyToken = null] не указан атрибут RepositoryAttribute. log4net: DefaultRepositorySelector: Assembly [App_Code.ch9yol_l, версия = 0.0.0.0, Culture = нейтральный, PublicKeyToken = null] с использованием репозитория [log4net-default-repository] и типа репозитория [log4net.Repository.Hierarchy.Hierarchy] log4net: DefaultRepositorySelector: создание хранилища [log4net-default-repository] с использованием типа [log4net.Repository.Hierarchy.Hierarchy] log4net: XmlConfigurator: настройка хранилища [log4net-default-repository] с использованием раздела файла .config log4net: XmlConfigurator: файл конфигурации приложения: [C: \ Users \ ScarryComp \ Documents \ Visual Studio 2008 \ WebSites \ WebSite1 \ web.config] log4net: XmlConfigurator: настройка хранилища [log4net-default-repository] log4net: XmlHierarchyConfigurator: режим обновления конфигурации [Слияние]. log4net: XmlHierarchyConfigurator: Logger [корень] Строка уровня - [ВСЕ]. log4net: XmlHierarchyConfigurator: для уровня ведения журнала [root] установлено значение [name = "ALL", значение = -2147483648]. log4net: XmlHierarchyConfigurator: загрузка Appender [тип INFOFileAppender]: [log4net.Appender.FileAppender] log4net: XmlHierarchyConfigurator: установка свойства [LockingModel] для объекта [log4net.Appender.FileAppender + MinimalLock] log4net: XmlHierarchyConfigurator: установка для свойства [Threshold] значения уровня [ALL] log4net: XmlHierarchyConfigurator: установка для свойства [File] строкового значения [AOKlogs.txt] log4net: XmlHierarchyConfigurator: установка для свойства [AppendToFile] логического значения [True] log4net: XmlHierarchyConfigurator: параметр [layout], указанный подтип [log4net.Layout.PatternLayout] log4net: PatternParser: конвертер [литерал] Опция [ ] Формат [мин = -1, макс = 2147483647, leftAlign = False] log4net: XmlHierarchyConfigurator: установка для свойства [Layout] значения PatternLayout [log4net.Layout.PatternLayout] log4net: FileAppender: открытие файла для записи [C: \ Users \ ScarryComp \ Documents \ Visual Studio 2008 \ WebSites \ WebSite1 \ AOKlogs.txt] append [True] log4net: XmlHierarchyConfigurator: созданный Appender [INFOFileAppender] log4net: XmlHierarchyConfigurator: добавление приложения с именем [INFOFileAppender] в журнал [root]. log4net: XmlHierarchyConfigurator: загрузка Appender [тип консоли]: [log4net.Appender.ConsoleAppender] log4net: PatternParser: Converter [message] Option [] Формат [min = -1, max = 2147483647, leftAlign = False] log4net: PatternParser: Converter [newline] Параметр [] Формат [min = -1, max = 2147483647, leftAlign = False] log4net: XmlHierarchyConfigurator: установка свойства [ConversionPattern] в строковое значение [% d% -5l -% m% n] log4net: PatternParser: конвертер [d] Параметр [] Формат [мин = -1, макс = 2147483647, leftAlign = False] log4net: PatternParser: конвертер [литерал] Параметр [] Формат [мин = -1, макс = 2147483647, leftAlign = False] log4net: PatternParser: Converter [l] Параметр [] Формат [min = 5, max = 2147483647, leftAlign = True] log4net: PatternParser: конвертер [литерал] Параметр [-] Формат [мин = -1, макс = 2147483647, leftAlign = False] log4net: PatternParser: Converter [m] Option [] Формат [min = -1, max = 2147483647, leftAlign = False] log4net: PatternParser: Converter [n] Параметр [] Формат [min = -1, max = 2147483647, leftAlign = False] log4net: XmlHierarchyConfigurator: установка свойства [Layout] для объекта [log4net.Layout.PatternLayout] log4net: XmlHierarchyConfigurator: создан Appender [Консоль] log4net: XmlHierarchyConfigurator: добавление appender с именем [Console] в logger [root]. log4net: XmlHierarchyConfigurator: порог иерархии []

Я изменил добавленное приложение Console, но я все еще не вижу текст в своих журналах: (

ОБНОВЛЕНИЕ 2: Аппендеры файлов не работали, но апплет трассировки был в порядке. Тем не менее, было бы неплохо, если бы кто-нибудь мог объяснить, что может случиться с файловыми апдендерами, так что вопрос остается своего рода открытым

Ответы [ 2 ]

1 голос
/ 21 декабря 2010

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

Вы можете попробовать настроить кодировкукак это:

<appender name="INFOFileAppender" type="log4net.Appender.FileAppender">
    <encoding value="unicodeFFFE" />
    ...
1 голос
/ 20 декабря 2010

Кажется, что ваше значение уровня неверно, вы можете попробовать эту же конфигурацию с этим вместо этого?

<root>
    <level value="ALL" />
    <appender-ref ref="INFOFileAppender" />
</root>
...