I just clipped out the log4net specific settings ... the app runs fine with my app.config file. Here's the entire file: <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <section name="GenericInterfaceClient.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler" /> </sectionGroup> <section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </configSections> <connectionStrings> <!-- SQL SERVER --> <add name="ConfigConnectionString" connectionString="xxx"/> <add name="DataConnectionString" connectionString="xxx"/> </connectionStrings> <system.diagnostics> <switches> <add name="DefaultSwitch" value="Information" /> </switches> </system.diagnostics> <applicationSettings> <GenericInterfaceClient.My.MySettings> <setting name="TempDir" serializeAs="String"> <value>E:\Apps\xxx\Temp\</value> </setting> <setting name="DBType" serializeAs="String"> <value>SQL Server</value> </setting> <setting name="GenericInterfaceClient_xxx_Service" serializeAs="String"> <value>https://xxx/Service.asmx</value> </setting> <setting name="ProxyUser" serializeAs="String"> <value /> </setting> <setting name="ProxyUserPassword" serializeAs="String"> <value /> </setting> <setting name="ProxyDomain" serializeAs="String"> <value /> </setting> <setting name="ProxyIP" serializeAs="String"> <value>xxx</value> </setting> <setting name="ProxyPort" serializeAs="String"> <value>88</value> </setting> </GenericInterfaceClient.My.MySettings> <!-- This section contains the log4net configuration settings --> <log4net> <!-- Define some output appenders --> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> <staticLogFileName value="false" /> <file type="log4net.Util.PatternString" value="E:\Employees_GenericInterfaceClient" /> <appendToFile value="true" /> <rollingStyle value="Date"/> <datePattern value=".yyyyMMdd'.log'" /> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/> </layout> </appender> <logger name="default"> <level value="ALL" /> <appender-ref ref="LogFileAppender" /> </logger> </log4net> </applicationSettings> <microsoft.web.services3> <policy fileName="wse3policyCache.config" /> <security> <binarySecurityTokenManager> <add valueType="http://www.w3.org/2001/04/xmlenc#rsa-1_5" type="Microsoft.Web.Services3.Security.Tokens.X509SecurityTokenManager, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <keyAlgorithm name="RSA15"/> </add> <add valueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"> <keyAlgorithm name="RSA15" /> </add> </binarySecurityTokenManager> <x509 allowTestRoot="true" /> </security> </microsoft.web.services3> </configuration>
From: Brian Browning [mailto:bwbrown...@gmail.com] Sent: Thursday, July 16, 2009 3:46 PM To: Log4NET User Subject: Re: Failed to find config section - Only after Environment.Exit() When I tried your app.config I received an exception immediately upon calling XmlConfigurator.Configure(); I had to move some things around in it for it to work: There doesn't seem to be an exception when I call Environment.Exit(1); either. Does modifying your app.config like below solve your problem? <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> </sectionGroup> </configSections> <applicationSettings> <!-- .... --> </applicationSettings> <log4net> <!-- Define some output appenders --> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <file value="GenericInterfaceClient.log" /> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <logger name="default"> <level value="ALL" /> <appender-ref ref="LogFileAppender" /> </logger> </log4net> </configuration> On Thu, Jul 16, 2009 at 1:42 PM, Dahl, Scott (CMA Consulting) <sd...@cma.com<mailto:sd...@cma.com>> wrote: I have a .net application using log4net that works fine up until the application exits using Environment.Exit(). At that point I get the following error message: "log4net:ERROR XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the <log4net> and <configSections> elements. The configuration section should look like: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />" The log file is created and entries are written fine when the app runs. I've tried doing a logmanager.shudown() prior to the Environment.Exit() but that doesn't seem to help either. The issue is more of an annoyance than anything else as the logging works as expected. The app is running at a client site though and they want to know why they're seeing this error in their scheduler. Here's the log4net entries in my app.config. <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler" /> </sectionGroup> </configSections> <!-- This section contains the log4net configuration settings --> <log4net> <!-- Define some output appenders --> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <file value=".\\GenericInterfaceClient.log" /> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <logger name="default"> <level value="ALL" /> <appender-ref ref="LogFileAppender" /> </logger> </log4net> </applicationSettings> </configuration> Any ideas?