Log4Net “Не удалось найти сообщения” информации о схеме

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

57
задан Community 23 May 2017 в 11:33
поделиться

9 ответов

Я имел различное взятие и нуждался в следующем синтаксисе:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]

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

17
ответ дан steve_mtl 24 November 2019 в 19:32
поделиться

Вы попытались использовать отдельный log4net.config файл?

1
ответ дан wcm 24 November 2019 в 19:32
поделиться

@steve_mtl: Изменение расширений файла от .config до .xml решило проблему. Спасибо.

@Wheelie: Я не мог попробовать Ваше предложение, потому что мне было нужно решение, которое работает с неизмененной установкой Visual Studio.

<час>

Для подведения его вот то, как решить проблему:

  1. Копия каждый log4net определенный тег к отдельному xml - файл. Удостоверьтесь, что использовали .xml в качестве расширения файла.
  2. Добавляют следующую строку к AssemblyInfo.cs:

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "xmlFile.xml", Watch = true)]

2
ответ дан xsl 24 November 2019 в 19:32
поделиться

Я полагаю, что Вы видите сообщение, потому что Visual Studio не знает, как проверить log4net раздел файла конфигурации. Необходимо быть в состоянии зафиксировать это путем копирования log4net XSD в C:\Program Files\Microsoft Visual Studio 8\XML\Schemas (or wherever your Visual Studio is installed). Как добавленная премия необходимо теперь получить поддержку intellisense log4net

5
ответ дан Wheelie 24 November 2019 в 19:32
поделиться

Просто слово предупреждения любому следует совету ответов в этом потоке. Существует возможная угроза безопасности при наличии log4net конфигурации в xml от корня веб-сервиса, поскольку это будет доступно для любого по умолчанию. Просто имейте в виду, содержит ли Ваша конфигурация уязвимые данные, можно хотеть еще поместить его где.

9
ответ дан James McMahon 24 November 2019 в 19:32
поделиться

Можно связать в схеме с log4net элемент. Существуют некоторые плавающие вокруг, большинство не полностью предусматривает доступные различные варианты. Я создал следующий xsd для обеспечения как можно большей проверки: http://csharptest.net/downloads/schema/log4net.xsd

можно связать его в xml легко путем изменения log4net элемент:

<log4net 
     xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
69
ответ дан Kevin Panko 24 November 2019 в 19:32
поделиться

Поскольку VS2008 просто добавляют log4net.xsd файл к Вашему проекту; VS смотрит в папке проекта, а также каталоге установки, который упомянул Wheelie.

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

2
ответ дан devstuff 24 November 2019 в 19:32
поделиться

На самом деле вам не нужно придерживаться расширения .xml. Вы можете указать любое другое расширение в атрибуте ConfigFileExtension:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension=".config", Watch = true)]
3
ответ дан 24 November 2019 в 19:32
поделиться

Я получил тестовый проект asp для сборки, поместив файл xsd в папку схем Visual Studio, как описано выше (для меня это C: \ Program Files \ Microsoft Visual Studio 8 \ XML \ Схемы), а затем мой web.config выглядит следующим образом:

<?xml version="1.0"?>
<!-- 
    Note: As an alternative to hand editing this file you can use the 
    web admin tool to configure settings for your application. Use
    the Website->Asp.Net Configuration option in Visual Studio.
    A full list of settings and comments can be found in 
    machine.config.comments usually located in 
    \Windows\Microsoft.Net\Framework\v2.x\Config 
-->
<configuration>
  <configSections>


    <section  name="log4net" 
              type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>

  </configSections>
  <appSettings>

  </appSettings>
  <connectionStrings>

  </connectionStrings>
  <system.web>
    <trace enabled="true" pageOutput="true"  />
    <!-- 
            Set compilation debug="true" to insert debugging 
            symbols into the compiled page. Because this 
            affects performance, set this value to true only 
            during development.
        -->
    <compilation debug="true" />
    <!--
            The <authentication> section enables configuration 
            of the security authentication mode used by 
            ASP.NET to identify an incoming user. 
        -->
    <authentication mode="Windows" />

    <customErrors mode="Off"/>
    <!--
      <customErrors mode="Off"/>

            The <customErrors> section enables configuration 
            of what to do if/when an unhandled error occurs 
            during the execution of a request. Specifically, 
            it enables developers to configure html error pages 
            to be displayed in place of a error stack trace.

    <customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
      <error statusCode="403" redirect="NoAccess.htm" />
      <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>
        -->





  </system.web>
    <log4net xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <!-- Please make shure the ..\\Logs directory exists! -->
      <param name="File" value="Logs\\Log4Net.log"/>
      <!--<param name="AppendToFile" value="true"/>-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
      </layout>
    </appender>
    <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
      <to value="" />
      <from value="" />
      <subject value="" />
      <smtpHost value="" />
      <bufferSize value="512" />
      <lossy value="true" />
      <evaluator type="log4net.Core.LevelEvaluator">
        <threshold value="WARN"/>
      </evaluator>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%newline%date [%thread] %-5level %logger [%property] - %message%newline%newline%newline" />
      </layout>
    </appender>

    <logger name="File">
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </logger>
    <logger name="EmailLog">
      <level value="ALL" />
      <appender-ref ref="SmtpAppender" />
    </logger>
  </log4net>
</configuration>
1
ответ дан 24 November 2019 в 19:32
поделиться
Другие вопросы по тегам:

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