Decidí usar log4net como registrador para un nuevo proyecto de servicio web. Todo está funcionando bien, pero me da un montón de mensajes como el de abajo, para cada etiqueta log4net estoy usando en mi web.config
:Log4Net mensajes "No se pudo encontrar información de esquema"
No se pudo encontrar la información de esquema para el elemento 'log4net' ...
A continuación se presentan las partes pertinentes de mi web.config
:
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level: %message%newline" />
</layout>
</appender>
<logger name="TIMServerLog">
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</logger>
</log4net>
resuelto:
- Copie cada etiqueta específica de log4net en un archivo separado
xml
. Asegúrese de usar.xml
como extensión de archivo. - Añadir la siguiente línea a
AssemblyInfo.cs
:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "xmlFile.xml", Watch = true)]
nemo añadido:
Sólo una palabra de advertencia para cualquiera seguir los consejos de las respuestas en este hilo. Existe un posible riesgo de seguridad al tener la configuración de log4net en un xml fuera de la raíz del servicio web, ya que será accesible por defecto para cualquier persona. Solo tenga en cuenta que si su configuración contiene datos confidenciales, es posible que desee para colocarla en otro lugar.
@wcm: He intentado utilizar un archivo separado. He añadido la siguiente línea al AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
y poner todo trato con log4net en ese archivo, pero sigo teniendo los mismos mensajes.
Si bien funcionó para mí, en la salida de depuración advertía sobre la falta de secciones en el archivo de configuración principal. Así que tuve que mantenerlos vacíos como este ' ' para hacer que la advertencia desaparezca –